Logo UGIdotNET

Uso dei costruttori statici in C#

Tempo addietro mi è capitato di dover inizializzare un membro statico di una classe (una ArrayList). Il mio problema consisteva nel dover inizializzare l'ArrayList prima di tutti gli altri membri della classe: in particolare, dovevo inizializzare il membro statico prima che fosse richiamato il costruttore delle istanze. C# ha risolto brillantemente il mio problema con il costruttore statico. Ecco l'esempio:

using system.collections;

public class MiaClasse
{

   // Costruttore statico
   public static MiaClasse()
   {
      listaStatica = new ArrayList();
   }
   
   // Costruttore di istanza
   public MiaClasse()
   {
      listaNonStatica = new ArrayList();
   }
   
   // ... altro codice

    private static ArrayList listaStatica = null;
    private ArrayList listaNonStatica = null;
}

Il costruttore statico è utilizzato per inizializzare una classe ed è richiamato automaticamente dal runtime per inizializzare la classe prima che sia creata la prima istanza e prima che qualsiasi menbro statico sia referenziato.
Il costruttore statico è richiamato una sola volta durante tutto il ciclo di vita dell'applicazione.

Autore: Andrea Gorgaini
Data: 30 aprile 2003
Ultimo aggiornamento: 23 luglio 2004
Categorie: 

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185