Un constructor estático se utiliza para inicializar cualquier dato estático o realizar una acción determinada que sólo debe realizarse una vez. Es llamado automáticamente antes de crear la primera instancia o de hacer referencia a cualquier miembro estático.
class SimpleClass
{
// Static constructor
static SimpleClass()
{
//...
}
}
Los constructores estáticos tienen las propiedades siguientes:
-
Un constructor estático no permite modificadores de acceso ni tiene parámetros.
-
Se le llama automáticamente para inicializar la clase antes de crear la primera instancia o de hacer referencia a cualquier miembro estático.
-
El constructor estático no puede ser llamado directamente.
-
El usuario no puede controlar cuando se ejecuta el constructor estático en el programa.
-
Los constructores estáticos se utilizan normalmente cuando la clase hace uso de un archivo de registro y el constructor escribe entradas en dicho archivo.
-
Los constructores estáticos también son útiles al crear clases contenedoras para código no administrado, cuando el constructor puede llamar al método LoadLibrary.
En este ejemplo, la clase Bus tiene un constructor estático y un miembro estático, Drive(). Cuando se llama a Drive(), se invoca el constructor estático para inicializar la clase.
public class Bus
{
// Static constructor:
static Bus()
{
System.Console.WriteLine("The static constructor invoked.");
}
public static void Drive()
{
System.Console.WriteLine("The Drive method invoked.");
}
}
class TestBus
{
static void Main()
{
Bus.Drive();
}
}
The static constructor invoked.
The Drive method invoked.
Referencia
Objetos, clases y estructuras (Guía de programación de C#)
Destructores (Guía de programación de C#)
Conceptos
Guía de programación de C#
Otros recursos
Constructores (Guía de programación de C#)