わかりました、GraphMaster
システム全体の値を多数含むシングルトン クラスがあります。GraphObject : GraphMaster
グラフ固有のデータを持つサブクラスがあります。サブクラス化することで、グローバル クラスまたはサブクラスのメンバーにアクセスできます。また、シングルトン クラスを使用することで、グローバル変数を任意の場所で変更し、すべてのサブクラスに反映させることができます。
ただし、基本クラスのコンストラクターがシングルトン クラスのコンストラクターを呼び出したいのですが、プライベートとマークされているためできません。
どうすればこれを回避できますか? 私がやろうとしていることは可能ですか?この投稿への回答により、私はこの道をたどりました: Can I make a "global" object to store variables for multiple objects?
例えば、
public class GraphMasterObject {
private static GraphMasterObject instance;
private GraphMasterObject() { }
}
public static GraphMasterObject Instance {
get {
if (instance == null) instance = new GraphMasterObject();
return instance;
}
}
public int globalVar=10;
}
public class GraphObject : GraphMasterObject {
public GraphObject() {
}
public int localVar=20;
}
できるようになりたい
GraphObject go = new GraphObject();
go.globalVar <- this is 10
GraphMasterObject.Instance.globalVar = 20;
go.globalVar <- now this is 20