In the case of nested classes, if the nested class never refers to the static members of its outer scope, the compiler (and CLR) are not required to call the static constructor of this outer class.
If you want to make the static constructor work, just add the code to the inner type that reads the field or property of the outer type.
# Jon Skeet - . - # In Depth, ... .