If you want your class to be initialize the Static members and if you want anything to be executed only once then you can use the static constructor, For example: Creating a Log file, Inform the user that the class has been called, Here is the MSDN Explanation, we will look it case by case 1) Why Static constructor actions will be performed only once regardless of times the object is created? CLR is locking the thread and making sure that only one thread is running per App Domain for specific set of purposes like writing log entries, holding session values, implementing Singletons… See the example program class ClassA { static ClassA() { Console .WriteLine( "Static Constructor ClassA is called!" ); } public ClassA( int Count) { Console .WriteLine( "Public Constructor ClassA is called! Count is :" + Count.ToString()); }