Una característica realmente genial es que el inicializador de listas también funciona bien con clases personalizadas: solo tiene que implementar la interfaz IEnumerable y tener un método llamado Agregar .
Entonces, por ejemplo, si tiene una clase personalizada como esta:
class MyCustomCollection : System.Collections.IEnumerable
{
List<string> _items = new List<string>();
public void Add(string item)
{
_items.Add(item);
}
public IEnumerator GetEnumerator()
{
return _items.GetEnumerator();
}
}
esto funcionará:
var myTestCollection = new MyCustomCollection()
{
"item1",
"item2"
}