从类中访问c#单例,而无需将其传递到类中
本文关键字:访问 单例 | 更新日期: 2023-09-27 18:07:13
这就是我要说的。
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
- 如果静态字段包含在泛型类型中,则不同的实例化将具有不同的静态字段值