シングルトン オブジェクトが必要な C# でアプリケーションを作成しています。したがって、そのクラスのオブジェクトは 1 つだけになります。しかし、そのクラスにはシステムの別のクラスのオブジェクトへの参照のリストが必要なので、そのようなリストを属性として追加し、別のオブジェクトを追加するメソッドを作成しました。
正しいと思いましたが、パラメーターの型 (リストに含まれるクラス) がメソッド (AddNew
次のコード) よりもアクセスしにくいというエラーが発生します。
これが私がこれまでに持っているものです:
namespace One {
public sealed class Singleton {
// Only instance of the class:
private static readonly Singleton instance = new Singleton ();
private List<MyOtherClass> list;
static Singleton() { }
private Singleton() {
list = new List<MyOtherClass>();
}
// Accessor to the property (the instance per se):
public static Singleton Instance {
get {
return instance;
}
}
// Method to add a new object to the list:
public void AddNew(MyOtherClass newObject) {
list.Add(newObject);
}
}
}
オブジェクトがそのリスト内にあるクラスは、次のように定義されます。
namespace One {
class MyOtherClass {
... // With private attributes and public constructor and methods.
}
}
問題はどこにあるのでしょうか? 私が望んでいたことを達成することは不可能ですか?クラスは public であり、singleton クラスが定義されているのと同じ名前空間に存在します。