OriginalGriff
Они могут помочь обеспечить "скрытые" классы:
public class MyClass
{
private class MyNestedClass
{
public MyNestedClass()
{
}
}
public void AMethod()
{
MyNestedClass mnc = new MyNestedClass();
}
}
Только MyClass может создавать экземпляры MyNestedClass - или даже видеть его-классы снаружи даже не знают, что он там есть.
Они также могут помочь "сгруппировать" классы, которые могут иметь общие имена, вместе в "зонтик" содержащего класса. Таким образом, вы должны использовать полное имя класса, чтобы использовать его, и оно не конфликтует ни с каким другим именем класса:
public void MyMethod()
{
MyClass.MyNestedClass mnc = new MyClass.MyNestedClass();
}
}
public class MyClass
{
public class MyNestedClass
{
public MyNestedClass()
{
}
}
}