Why doesn't the CLR always call value type constructors
I have a question concerning type constructors within a Value type . This question was inspired by something that Jeffrey Richter wrote in CLR via C# 3rd ed, he says (on page 195 - chapter 8) that you should never actually define a type constructor within a value type as there are times when the CLR will not call it. So, for example (well...Jeffrey Richters example actually), I can't work out, even by looking at the IL, why the type constructor is not being called in the following code: internal struct SomeValType { static SomeValType() { Console.WriteLine("This never gets displayed"); }