Tag: static

具有多个应用程序实例的静态成员行为 – C#

我正在使用我的Window应用程序,我正在使用一些静态成员。 public class MyParameter { public static string connectionString = “…”; } 现在如果我在计算机上安装我的应用程序并打开同一应用程序的两个实例 ‘connectionString’会对两个实例共同吗? 或者每个实例都有其connectionString?

为什么使用静态类?

我对静态类和静态方法有疑问。 从MSDN我理解“静态类和类成员用于创建可以在不创建类实例的情况下访问的数据和函数。” 因此,如果我们不想将一个类与一个实例相关联,我们将把它作为静态。 这是唯一的优势吗? 任何人都可以指导我在静态类的实时场景。 在课堂上的一些时间(不是静态的)我发现了静态方法。 静态方法在实际中给出了多实例方法的优点/性能优势。

Ninject和静态类 – 如何?

我有一个静态类,我需要注入一些实例。 静态类可以有静态构造函数,但它必须是无参数的。 那么,我该怎么办呢? 我不想创建一个单身人士。 我希望有一个静态类,其中一个方法对应该注入的实例进行操作。 贝娄是我需要的一个例子。 public static class AuthenticationHelper { // Fields. private static object _lock = new object(); private static readonly UserBusiness _userBusiness; // <– this field needs to be injected. // Public properties. public static User CurrentUser { get { if (IsAuthenticated) { User user = (User)Context.Session[SessionKeys.CURRENT_USER]; if (user == null) { […]

如何使用PropertyChangedCallBack

我有一个绑定到依赖属性的TextBox,我已经实现了一个PropertyChangedCallBack函数,当文本更改时我需要调用textbox.ScrollToEnd()但我不能因为PropertChanged函数需要是静态的,有没有办法绕过这个? static FrameworkPropertyMetadata propertyMetaData = new FrameworkPropertyMetadata(“MyWindow”, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, new PropertyChangedCallback(TextProperty_PropertyChanged)); public static readonly DependencyProperty TextProperty = DependencyProperty.Register(“TextProperty”, typeof(string), typeof(OutputPanel), propertyMetaData); private void TextProperty_PropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) { textbox.ScrollToEnd(); //An object reference is required for the non-static field. } public string Text { get { return this.GetValue(TextProperty) as string; } set { this.SetValue(TextProperty, value); //textbox.ScrollToEnd(); // […]

C#GetMethod不返回父方法

我有以下类树: public class A { public static object GetMe(SomeOtherClass something) { return something.Foo(); } } public class B:A { public static new object GetMe(SomeOtherClass something) { return something.Bar(); } } public class C:B { } public class SomeOtherClass { } 鉴于SomeOtherClass parameter = new SomeOtherClass() )这适用: typeof(B).GetMethod(“GetMe”, new Type[] { typeof(SomeOtherClass) })).Invoke(null, parameter)); 但是这个: typeof(C).GetMethod(“GetMe”, […]

是否可以在C#中调用静态函数内的非静态函数?

是否可以在C#中调用静态函数内使用公共非静态类的非静态函数? public class MyProgram { private Thread thd = new Thread(myStaticFunction); public AnotherClass myAnotherClass = new AnotherClass(); public MyProgram() { thd.Start(); } public static void myStaticFunction() { myNonStaticFunction(); } private void myNonStaticFunction() { myAnotherClass.DoSomethingGood(); } } 好吧,上面的无效代码就是我需要的。 任何的想法?

定义每个子类定义一次的静态属性的最佳方法是什么?

我编写了以下控制台应用程序来测试静态属性: using System; namespace StaticPropertyTest { public abstract class BaseClass { public static int MyProperty { get; set; } } public class DerivedAlpha : BaseClass { } public class DerivedBeta : BaseClass { } class Program { static void Main(string[] args) { DerivedBeta.MyProperty = 7; Console.WriteLine(DerivedAlpha.MyProperty); // outputs 7 } } } 正如此控制台应用程序演示的那样, MyProperty属性对于所有BaseClass实例都存在一次。 是否有使用的模式允许我定义一个静态属性,该属性将为每个子类类型分配存储? […]

静态方法中的全局变量

这似乎很基本,但我觉得这很微不足道。 您将如何建议使用静态类(即控制台应用程序)设置全局变量? 为了给你一些更多的背景知识,主要方法是调用一些我希望得到/设置变量的自定义事件处理程序。 您有任何想法或建议表示赞赏。

与get之间的区别; 组; 没有得到; 组;

我不明白静态属性之间的区别: public static int intId; 并得到 特性: public int intId { get { return intId; } set { intId = value; } } 这两者有什么区别? 他们的工作方式相同或不同?

C#中的“默认”序列化序列化静态字段吗?

“默认”是指只使用类上的[Serializable]属性。 我想说不,静态字段不会被序列化,但我不完全确定。