私は次のタイプを持っています:
// incomplete class definition
public class Person
{
private string name;
public string Name
{
get { return this.name; }
}
}
このタイプをある種の専用コントローラー/ビルダーで作成および更新したいのですが、他のタイプに対しては読み取り専用のままにしておきたいです。
このオブジェクトは、コントローラー/ビルダーによって更新されるたびにイベントを発生させる必要もあります。
要約すると、前の型定義スケルトンによると:
- は
Person
特定のコントローラによってのみインスタンス化できます - このコントローラーは、 (フィールド)の状態をいつでも更新できます。
Person
name
- 発生時に世界中に通知
Person
を送信する必要性 - 他のすべてのタイプは、属性の読み取り のみ可能にする必要があります
Person
これをどのように実装すればよいですか? ここではコントローラー/ビルダーについて話していますが、他のすべてのソリューションは大歓迎です。
注:修飾子に頼ることができますがinternal
、理想的にはすべてのものを同じアセンブリにする必要があります。