Forcing a static constructor to be called
suggest changeWhile static constructors are always called before the first usage of a type it’s sometimes useful to be able to force them to be called and the RuntimeHelpers
class provide an helper for it:
using System.Runtime.CompilerServices;
// ...
RuntimeHelpers.RunClassConstructor(typeof(Foo).TypeHandle);
Remark: All static initialization (fields initializers for example) will run, not only the constructor itself.
Potential usages: Forcing initialization during the splash screen in an UI application or ensuring that a static constructor doesn’t fail in an unit test.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents