我有一个包含私有List的类。我已经创建了一个getter方法和一个用于向列表添加元素的方法:
public class Test{
private List<T> myList;
public List<T> MyList
{
get { return myList; }
}
public Test()
{
myList = new List<T>();
}
public void AddElements(T element)
{
// Do dome stuff, subscribe to an event of T
myList.Add(element);
}
}
由于每次添加元素时我都想做更多的事情,我不希望在代码的某个部分中直接添加元素:
Test test = new Test();
// Wrong
test.MyList.Add(element);
// Right
test.AddElements(element);
我考虑创建一个新的类来实现IList接口并覆盖Add()方法,但是我想知道是否有更简单/更优雅的方法来“阻止”这个Add()方法。
List
。您可以公开ReadOnlyCollection
,这样就没有人可以添加(除非他们使用反射)。 - Sinatr