Cuando la propiedad tienen algún tipo de colección comoPropiedades de la colección Tipo de
public IList<MyItemClass> MyList{ get; }
en mi humilde opinión, es mejor volver colección vacía en lugar de valor nulo.
Hay muchas formas de implementar dicha funcionalidad.
public IList<MyItemClass> MyList{ get; private set; }
public MyClass(){
MyList = new List<MyItemClass>();
}
De esta manera, permite disminuir el número de campos de clase, pero debe poner el código en cada constructor.
private List<MyItemClass> _myList = new List<MyItemClass>();
public IList<MyItemClass> MyList{ get{ return _myList; } }
Esta es la manera estándar. Pero cuando alguien escribe algo en tu código, puede usar el campo privado en lugar de la propiedad y puedes obtener algunos errores cuando realizas la acción de refactorización.
private List<MyItemClass> _myList;
public IList<MyItemClass> MyList{ get{ return _myList??(_myList = new List<MyItemClass>()); } }
Y esta es la variante de la manera anterior con carga diferida.
¿Qué prefiere devolver como valor predeterminado para la recopilación? Si esto es colección vacía, ¿cómo lo implementas?