Busco en algún código que escribió un compañero de trabajo y lo que espera que suceda no lo es. Aquí está el código:Tratando de entender cómo estática está trabajando en este 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;
}
}
En otra clase, lo que habría esperado a ser capaz de hacer:
private SingletonClass sc = SingletonClass.Instance.Instance.Instance.Instance.Instance.Instance;
y hacer referencia a la misma instancia de esa clase. Lo que sucede es que solo puedo tener uno .Instance
. Algo que no esperaba Si la propiedad Instance
devuelve una clase SingletonClass
, por qué no puedo llamar a la propiedad Instance
en esa clase de regresar y así sucesivamente y así sucesivamente?
Ah, claro, que tiene sentido ahora. – Justin