我正在用 C# 编写一个需要单例对象的应用程序;所以该类只有一个对象。但是那个类需要有一个对系统另一个类的对象的引用列表,所以我添加了这样一个列表作为属性,然后创建了一个方法来向它添加另一个对象。
我认为这是正确的,但我收到一个错误,其中参数类型(要在列表中的类)比方法(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.
}
}
问题可能出在哪里?难道不能完成我想要的吗?该类是公共的,并且驻留在定义单例类的同一命名空间中。