少し奇妙に聞こえるかもしれませんが、説明しようと思います。多くのプロパティを持つクラスがあり、それらはすべて読み取り専用であり、そのプロパティを変更できるのはこのクラスだけだとします (イベントをリッスンし、そのイベントに含まれる情報をプロパティに入力します)。
しかし、いくつかの構造体のいくつかのプロパティをカプセル化して、適切に編成された階層を作成したいので、所有者クラスを除いて、これらの構造体のプロパティも読み取り専用にする必要があります。例えば:
public class A
{
private int a1;
public int A1
{
get{ return a1; }
}
private B structB;
public B StructB
{
get{ return structB; }
}
private method eventListenerMethod(...)
{
a1 = someValue;
structB.B1 = otherValue; //I want that only this class can modify this property!
}
}
public struct B
{
private int b1;
public int B1
{
get{ return b1; } // This property should be modifiable for Class A!!
}
}
私はそれができないと思いますが、どうすればそれを達成できるか知っている人はいますか? 事前にどうもありがとうございました。