It is called automatically before the first instance is created (means you have created an object of that class where you have declared static constructor) or any static members are referenced.Static members could be static constructor itself of static property also.
A static constructor is used to initialize any static data, or to perform a particular action that needs performed once only. It is called automatically before the first instance is created or any static members are referenced.