为了确保一个列表属性永远不会返回null,我宣布这样说:的列表属性C#快捷方式,不应该返回null
private IList<Item> _myList;
[NotNull]
public IList<Item> MyList
{
get { return _myList ?? new List<Item>(); }
set { _myList = value; }
}
这工作,但我讨厌的语法。考虑到我应该在整个项目中广泛地使用这种技术,我正在寻找一种更好的方式来编写这个或更好的解决方案来解决同一个问题。任何想法?
'私人只读IList- _myList =新列表
- ()'这将确保它永不为空 –
Ric
纠正我,如果我错了,但即使你初始化_myList作为一个新的列表,这并不意味着它之后不能将值设置为空。 – tocqueville
@tocqueville true,它只能在类的构造函数中设置。 – Ric