Skip to content

Static constructor

Context: A static constructor initializes static fields or performs one‑time setup. It is called automatically before the first static member access or first instance creation.

class ClassName
{
static ClassName()
{
// initialization code
}
}
  • No parameters.
  • No access modifiers (implicitly private).
  • Cannot be called directly.
  • Runs at most once.
public class Config
{
public static readonly string ConnectionString;
static Config()
{
ConnectionString = LoadFromFile();
}
private static string LoadFromFile() => "Server=...";
}
  1. Static constructor runs.
  2. Then instance constructors (if creating instances).

If a static constructor throws an exception, the type becomes unusable.