私は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()
{
}
}
}
この件についてあなたから聞いてうれしいです-私は正しいですか?