我相对来说是C#的新手,每次开始工作在一个C#项目上时(我只曾经在接近成熟的C#项目上工作过),我都会想为什么没有内部类?
也许我不理解它们的目的。对我而言,内部类——至少是私有内部类——看起来很像Pascal / Modula-2 / Ada中的“内部程序”:它们允许将一个主类分解成更小的部分,以便于理解。
例如:这是我经常看到的:
public class ClassA
{
public MethodA()
{
<some code>
myObjectClassB.DoSomething(); // ClassB is only used by ClassA
<some code>
}
}
public class ClassB
{
public DoSomething()
{
}
}
由于ClassB只会在一段时间内被ClassA使用,所以我猜这段代码最好改为以下形式:
public class ClassA
{
public MethodA()
{
<some code>
myObjectClassB.DoSomething(); // Class B is only usable by ClassA
<some code>
}
private class ClassB
{
public DoSomething()
{
}
}
}
我很乐意听取您对这个问题的意见 - 我是正确的吗?