Sto guardando un codice scritto da un collega e quello che mi aspettavo accadesse non lo è. Ecco il codice:Cercando di capire come funziona la statica in questo caso
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;
}
}
In un'altra classe, mi sarei aspettato di essere in grado di fare:
private SingletonClass sc = SingletonClass.Instance.Instance.Instance.Instance.Instance.Instance;
e riferimento allo stesso grado di quella classe. Quello che succede è che posso avere solo uno .Instance
. Qualcosa che non mi aspettavo. Se la proprietà Instance
restituisce una classe SingletonClass
, perché non è possibile chiamare la proprietà Instance
in quella classe restituita e così via e così via?
Oh giusto, che ha un senso ora. – Justin