Для того, чтобы убедиться в том, что свойство списка никогда не будет возвращать нуль, я объявил об этом так:C# ярлык для свойства списка, который никогда не должен возвращать нуль
private IList<Item> _myList;
[NotNull]
public IList<Item> MyList
{
get { return _myList ?? new List<Item>(); }
set { _myList = value; }
}
Это работает, но я ненавижу синтаксис. Учитывая, что я должен широко использовать эту технику во всем моем проекте, я ищу лучший способ написать это или лучшее решение той же проблемы. Есть идеи?
'частное IList только для чтения- _myList = новый список
- ()' это будет гарантировать, что это никогда не нулевой –
Ric
Поправьте меня, если я ошибаюсь, но даже если вы инициализировать _myList как новый список, это не значит, что его после этого значение не может быть установлено на значение null. – tocqueville
@tocqueville true, его можно только затем установить в конструкторе класса. – Ric