public static extern int MyFoo(); //extern means declared in this assembly defined in some other assembly public void CheckAccessModifierMethod() { CheckAccessModifier obj = new CheckAccessModifier(); obj.i = 10; //Error can’t access private data through object.But here it is accessible.:) obj.j = 10; obj.k = 10; obj.m = 10; obj.n = 10; // obj.s =10; //Errror Static data can be accessed by class names only CheckAccessModifier.x = 10; // obj.y = 10; //Errror Static data can be accessed by class names only CheckAccessModifier.y = 10; }
public static void Main() { CheckAccessModifier2 obj2 = new CheckAccessModifier2(); obj2.CheckAccessModifierMethod(); // using inheritance //Access specifiers comes into picture only when you create object of class outside the class CheckAccessModifier obj = new CheckAccessModifier(); // obj.i =10; //Error can’t access private data through object. obj.j = 10; // obj.k=10; //Error can’t access protected data through object. obj.m = 10; obj.n = 10; // obj.s =10; //Errror Static data can be accessed by class names only // CheckAccessModifier.x = 10; //Error can’t access private data outside class // obj.y = 10; //Errror Static data can be accessed by class names only CheckAccessModifier.y = 10; }