public static void Main()
Console.WriteLine(a.getA());
Console.WriteLine(a.getprotectA());
Console.WriteLine(a.getPrivateA());
Console.WriteLine("---------------------------------------------------------");
Console.WriteLine(a1.getA());
Console.WriteLine(a1.getprotectA());
Console.WriteLine(a1.getPrivateA());
Console.WriteLine("---------------------------------------------------------");
Console.WriteLine(a2.getA());
Console.WriteLine(a2.getprotectA());
Console.WriteLine(a2.getbaseprotectA());
Console.WriteLine(a2.getPrivateA());
public string a = "baseA";
public virtual string getprotectA()
protected string protectA()
return a + " base protected";
public string getPrivateA()
private string privateA()
return a + " base private";
public new string getPrivateA()
private string privateA()
public string getbaseprotectA()
public override string getprotectA()
protected new string protectA()
return "protected new" + a;