Ho una domanda sui singleton che penso di conoscere la risposta a ... ma ogni volta che lo scenario si apre mi viene in qualche modo da indovinare un po ', quindi vorrei piacerebbe conoscere la risposta concreta.Domanda su membri non statici di un singleton (C#)
Dire Ho installato due classi in modo ...
public class ClassA
{
private static ClassA _classA;
public static ClassA Instance { get { return _classA ?? LoadClassA(); } }
private ClassA(){}
public static ClassA LoadClassA()
{
_classA = new ClassA();
return _classA;
}
private ClassB _classB = new ClassB();
public ClassB ClassB { get { return _classB; } set { _classB = value; } }
}
public class ClassB
{
}
mia domanda è semplice.
Mi chiedo se il campo _classB sia considerato statico anche se accedo al singleton per ClassA? Anche se non ho dichiarato _classB come membro statico.
Ho sempre immaginato che _classB sia considerato statico (una posizione di memoria), ma mi piacerebbe sapere con certezza. Ho sbagliato? È un nuovo oggetto creato per _classB ogni volta che lo si accede da Singleton ClassA ... anche se c'è solo un ClassA in memoria? O è perché ho aggiornato _classB sulla dichiarazione che fa sì che ci sia solo una sua istanza?
Grazie in anticipo, -Matt
ci sarà certamente un'istanza di _classB. –