A static constructor is used to initialize any static data, or to perform a particular action that needs performed once only. It is called automatically before the first instance is created or any static members are referenced.
class SimpleClass
{
// Static constructor
static SimpleClass()
{
//...
}
}
Static constructors have the following properties:
-
A static constructor does not take access modifiers or have parameters.
-
A static constructor is called automatically to initialize the class before the first instance is created or any static members are referenced.
-
A static constructor cannot be called directly.
-
The user has no control on when the static constructor is executed in the program.
-
A typical use of static constructors is when the class is using a log file and the constructor is used to write entries to this file.
-
Static constructors are also useful when creating wrapper classes for unmanaged code, when the constructor can call the LoadLibrary method.
In this example, the class Bus has a static constructor and one static member, Drive(). When Drive() is called, the static constructor is invoked to initialize the class.
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();
}
}
0 Response to "Static Constructors in C#"
Post a Comment