我根本不希望这些内容是可编辑的。对于集合,使用 ReadOnlyCollection 似乎非常清楚(尽管我不知道它是否总是从集合中创建新的 ReadOnlyCollection 的好方法(成本高吗?))。
public static class Lookups
{
private static Collection<MyBusinessObject> businessObjects;
// [...]
public static ReadOnlyCollection<MyBusinessObjects> BusinessObjects
{
get
{
return new ReadOnlyCollection<MyBusinessObject>(businessObjects);
}
}
// [...]
}
但更重要的是:我如何处理集合中的项目?我希望这个测试通过任何想法?
[TestMethod]
public void Items_Should_Not_Be_Editable()
{
var businessObject = Lookups.BusinessObjects.First();
businessObject.Id = 1337;
Assert.AreNotEqual(1337, Lookups.BusinessObjects.First().Id);
}