Static code blocks

-A static constructor doesn't have any parameter.
-A static class can contain only one static constructor.
-A static constructor executes first when we run the program.

Example:

namespace InterviewPreparation  
{  
    public static class Program  
    {  //static Class
        static Program()  
        { //Static constructor
            Console.WriteLine("This is static consturctor.");  
        }  
        public static void Main()  
        { //static main method
            Console.WriteLine("This is main function.");  
            Console.ReadKey();  
        }  
    }  
}  

Output:
This is static constructor.
This is main function.


You just can write a static constructor block like this,

static Application(){
 attribute=5;
}

This is what I could think of.


In your particular scenario, you could do the following:

public class Application { 
    static int attribute = 5;
   // ... rest of code 
}

UPDATE:

It sounds like you want to call a static method. You can do that as follows:

public static class Application {
    static int attribute = 5;

    public static int UtilityMethod(int x) {
        return x + attribute;
    }
}

public class Application
{     

    static int attribute;     
    static Application()
    {         
         attribute = 5;     
    }    // removed
}

You can use the C# equivalent static constructors. Please don't confuse it with a regular constructor. A regular constructor doesn't have a static modifier in front of it.

I am assuming your //... rest of the code need to be also run once. If you don't have such code you can just simply do this.

 public class Application
 {     

    static int attribute = 5;
 }

Tags:

C#

.Net

Static