我对 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()
{
}
}
}
我很高兴收到你关于这个问题的消息——我说得对吗?