1

这就是我要说的。

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 中检索一个单例样式的对象。

4

1 回答 1

5

ObjectZ.Instance无论您从代码中的哪个位置访问该值,该值都将返回相同的对象。它由静态字段支持,静态字段本质上是全局的。

尽管有几种情况,静态字段将具有不同的值。

  • 如果静态字段在不同的AppDomain实例中。通常,尽管应用程序只有一个AppDomain
  • 如果静态字段包含在泛型类型中,则不同的实例化将具有不同的静态字段值
于 2013-04-02T22:38:30.763 回答