静态和非静态类[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态和非静态类[关闭]相关的知识,希望对你有一定的参考价值。
我有一个非静态的类,因为我想使用实例,但是我也想让一个类(或一个实例)可全局访问。除了使一个类成为非静态类而使另一个类成为非静态类时,还有更好的选择吗?尽管两者实际上具有相同的代码?
答案
如果我理解你的权利,你想要这样的东西:
public class MyClass {
...
public static MyClass Default {get;} = new MyClass();
...
public void DoSomething() {...}
}
因此您可以创建一个实例:
MyClass instance = new MyClass();
instance.DoSomething();
或使用默认值:
MyClass.Default.DoSomething();
另一个典型用法是>
public void Perform(MyClass value = null) { if (null == value) value = MyClass.Default; value.DoSomething(); ... }
然后
Perform(); // use Default MyClass instance
Perform(new MyClass()); // use provided MyClass instance
以上是关于静态和非静态类[关闭]的主要内容,如果未能解决你的问题,请参考以下文章