Clases internas
Son aquellas cuya definición está dentro de otra. Una clase interna puede sobrescribir métodos de la clase que la contiene.
class OuterClass{
private string extProp = "external class property";
public class InnerClass{
private string intProp = "inner class property";
public void ShowProp(){
Console.WriteLine(intProp);
}
}
public void ShowProp(){
Console.WriteLine(extProp);
}
}
class MainClass{
static void Main(String[] args){
OuterClass outerClass = new OuterClass();
outerClass.ShowProp();
OuterClass.InnerClass innerClass = new OuterClass.InnerClass();
innerClass.ShowProp();
}
}
Output:
propiedad de la clase externa
propiedad de la clase interna