这就是我在说的。
public sealed class ObjectZ {
static readonly ObjectZ _instance = new ObjectZ();
private ObjectZ() {}
public static ObjectZ Instance{
get { return _instance; }
}
}
我想访问此指针...
ObjectZ obj = ObjectZ.Instance;
从另一个类,而不将其传递给构造函数或方法并进行设置。如果我从另一个班级开始做这行,是否会得到相同的对象?
我习惯了Objective-C,您可以在其中一行从UIApplicationDelegate检索单例样式对象。
最佳答案
不管您在代码中的哪个位置访问ObjectZ.Instance
值,都将返回相同的对象。它由静态字段支持,并且静态字段本质上是全局的。
虽然有两种情况,其中静态字段将具有不同的值。
如果静态字段位于不同的AppDomain
实例中。通常,尽管应用程序只有一个AppDomain
如果静态字段包含在通用类型中,则不同的实例将具有不同的静态字段值
关于c# - 从类访问C#Singleton,而不将其传递给类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15775652/