Voglio sapere perché una classe Singleton dovrebbe essere sigillata. Se stiamo dando il costruttore come privato possiamo impedire che la classe sia derivata giusta? .. Di seguito sto incollando poche righe da MSDN. Per favore datemi un po 'di colore ..Perché la classe Singleton dovrebbe essere sigillata?
In questa strategia, l'istanza viene creata la prima volta che viene fatto riferimento a qualsiasi membro della classe. Il Common Language Runtime si occupa dell'inizializzazione della variabile. La classe è contrassegnata come sigillata per impedire la derivazione, che potrebbe aggiungere istanze. Per una discussione sui pro e contro di contrassegnare una classe sigillata, vedi [Sells03]. Inoltre, la variabile è contrassegnata in sola lettura, il che significa che può essere assegnata solo durante l'inizializzazione statica (che viene mostrata qui) o in un costruttore di classi.
http://msdn.microsoft.com/en-us/library/ff650316.aspx
È possibile derivare solo dalla classe base * se la classe derivata ha accesso al costruttore privato *. Vedi la mia risposta per l'unico modo in cui ciò è fattibile. –
Tuttavia io non sono in grado di costruire le BaseClass classe seguente codice { BaseClass private() { }} classe Derrived: BaseClass { pubblica display void() { Console.WriteLine ("In Derrived class"); } } e sto ricevendo errore come BaseClass.BaseClass() 'è inaccessibile a causa del suo livello di protezione – Anish