次のコードがあります。
class A
{
public C GetC()
{
return new C();
}
}
class B
{
//has access to A but can not create C. Must ask A to create C.
private void method()
{
A a = new A();
C c = a.GetC();//Ok!
C c2 = new C();//Not allowed.
}
}
class C
{
}
Aからのみアクセスできるようにするには、Cでどのアクセス修飾子を使用する必要がありますか? (クラス A だけがクラス C を適切に初期化する方法を知っています) または、より良い解決策はありますか?