Tôi đang xem một số mã mà một đồng nghiệp đã viết và những gì tôi mong đợi sẽ không xảy ra. Đây là mã:Cố gắng hiểu cách tĩnh hoạt động trong trường hợp này
public class SingletonClass
{
private static readonly SingletonClass _instance = new SingletonClass();
public static SingletonClass Instance
{
get { return _instance; }
}
private SingletonClass()
{
//non static properties are set here
this.connectionString = "bla"
this.created = System.DateTime.Now;
}
}
Trong lớp khác, tôi dự kiến sẽ có để có thể làm:
private SingletonClass sc = SingletonClass.Instance.Instance.Instance.Instance.Instance.Instance;
và nó tham khảo các Instance cùng của lớp đó. Điều gì xảy ra là tôi chỉ có thể có một số .Instance
. Một cái gì đó mà tôi không mong đợi. Nếu tài sản Instance
trả về một lớp học SingletonClass
, tại sao tôi không thể gọi thuộc tính Instance
trên lớp đó được trả về, v.v ...
Oh đúng, có ý nghĩa bây giờ. – Justin