I have read many article regarding the static fields that**"Static methods have no way of accessing fields that are instance fields, as instance fields only exist on instances of the type."**
But we can create and access the instance fields inside the static class.
Please find below code,
class Program
{
static void Main(string[] args)
{
}
}
class clsA
{
int a = 1;
//Static methods have no way of accessing fields that are instance fields,
//as instance fields only exist on instances of the type.
public static void Method1Static()
{
//Here we can create and also access instance fields which we have declared inside the static method
int b = 1;
//a = 2; We get an error when we try to acces instance varible outside the static method
//An object reference is required for the non-static field, method, or property '
Program pgm = new Program();
//Here we can create and also access instance fields by creating the instance of the concrete class
clsA obj = new clsA();
obj.a = 1;
}
}
Is that true "We can access the non static fields inside static method" ?
Another question If we declare class clsA as static class even at that time we are not getting any compilation error if we declare instance fields inside the static method?
Where I am getting wrong?