Quando la proprietà hanno qualche tipo di raccolta comeproprietà di raccolta tipo
public IList<MyItemClass> MyList{ get; }
IMHO, è meglio tornare insieme vuoto invece di valore nullo.
Esistono molti modi per implementare tale funzionalità.
public IList<MyItemClass> MyList{ get; private set; }
public MyClass(){
MyList = new List<MyItemClass>();
}
In questo modo è possibile ridurre il numero di campi di classe, ma è necessario inserire il codice in ogni costruttore.
private List<MyItemClass> _myList = new List<MyItemClass>();
public IList<MyItemClass> MyList{ get{ return _myList; } }
Questo è il modo standard. Ma quando qualcuno scrive qualcosa al tuo codice, può usare il campo privato invece della proprietà e puoi ottenere alcuni bug quando ti rifatti l'azione.
private List<MyItemClass> _myList;
public IList<MyItemClass> MyList{ get{ return _myList??(_myList = new List<MyItemClass>()); } }
E questa è la variante del modo precedente con caricamento lazy.
Cosa si preferisce restituire come valore predefinito per la raccolta? Se questa è raccolta vuota, come la implementa?