What is the use of static constructors?

Technology CommunityCategory: C#What is the use of static constructors?
VietMX Staff asked 3 years ago

static constructor is useful for initializing any static fields associated with a type (or any other per-type operations) – useful in particular for reading required configuration data into readonly fields, etc.

It is run automatically by the runtime the first time it is needed (the exact rules there are complicated (see “beforefieldinit”), and changed subtly between CLR2 and CLR4). Unless you abuse reflection, it is guaranteed to run at most once (even if two threads arrive at the same time).

You can’t overload it.