クラス自体がそれほどプライベートではないが、それでもベースにラップされていて、外部からアクセスできない場合、それは問題になりますか?
public class MyBaseClass
{
private readonly MySubClass1 _sub1 = new MySubClass1();
private readonly MySubClass2 _sub2 = new MySubClass2();
public void DoMyWork()
{
_sub1.DoSubClass1();
_sub2.DoSubClass2();
}
}
public class MySubClass1
{
public void DoSubClass1() { /* Do stuff */ }
}
public class MySubClass2
{
public void DoSubClass2() { /* Do stuff */ }
}
あなたが述べたように、これで十分ではなく、別のファイルにそれらが必要な場合は、そのように部分クラスを使用できます。
Class1.cs ファイル
public partial class MyBaseClass
{
public void DoMyWork()
{
(new MySubClass1()).DoSubClass1();
(new MySubClass2()).DoSubClass2();
}
}
Class2.cs ファイル
public partial class MyBaseClass
{
private class MySubClass1
{
public void DoSubClass1() { /* Do stuff */ }
}
}
Class3.cs ファイル
public partial class MyBaseClass
{
private class MySubClass2
{
public void DoSubClass2() { /* Do stuff */ }
}
}
しかし、ここで何を達成しようとしているのかはまだ明確ではありません。