Sto tentando di aggiungere l'inizializzazione della raccolta alla mia classe. Ho letto le inizializzatori qui: https://msdn.microsoft.com/en-us/library/bb384062.aspx#Anchor_2Utilizzo di inizializzatore di raccolta sulla mia classe
citerò la parte importante che mi lascia perplesso:
Collection initializers let you specify one or more element initializers when you initialize a collection class that implements IEnumerable or a class with an Add extension method.
Ok, quindi voglio sottolineare sulla parola o. Mentre lo leggevo, dovrei essere in grado di creare una classe con un Aggiungi il metodo e quindi l'inizializzatore della raccolta dovrebbe funzionare su questa classe? Questo non sembra essere il caso. Una cosa che ho notato è che in realtà dice un metodo di estensione Aggiungi. Così ho provato a creare il metodo Aggiungi come estensione, ma senza risultato.
Ecco un piccolo campione ho provato che non funziona:
public class PropertySpecificationCollection
{
private List<PropertySpecification> _internalArr;
public void Add(PropertySpecification item)
{
_internalArr.Add(item);
}
}
È la citazione soggetto ad altre interpretazioni del mio? Ho provato a leggerlo più e più volte, per vedere se potevo interpretarlo in altro modo, ma non ci sono riuscito.
Quindi credo che la mia domanda sia: sto interpretando male, mi manca qualcosa o c'è un errore nella descrizione degli inizializzatori di raccolta su MSDN?
Cosa succede quando si crea un'istanza di 'PropertySpecificationCollection' e si inizializza la raccolta nel costruttore? –
Sembra un errore nella documentazione, devi implementare 'IEnumerable' e deve esserci un metodo' Add' adatto. – Lee
http://stackoverflow.com/questions/2495791/insegnalizzatori personalizzati- di raccolta – Mino