So che tecnicamente un'interfaccia viene utilizzata per la lettura e non per la scrittura o la modifica, tuttavia, voglio aggiungere una funzione add e addrange alla classe seguente, ecco quello che attualmente non funzionaRaccolta personalizzata Implementazione di IEnumerable
public class HrefCollection : IEnumerable<Href>
{
private IEnumerable<Href> hrefs;
public IEnumerable<Href> Add(Href href)
{
yield return href;
}
public IEnumerable<Href> AddRange(List<Href> hrefs)
{
foreach(Href href in hrefs)
{
yield return href;
}
}
public IEnumerator<Href> GetEnumerator()
{
return hrefs.GetEnumerator();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return hrefs.GetEnumerator();
}
}
Non sono sicuro di come associare il rendimento restituito all'elenco privato.
Grazie per il vostro aiuto!
Si può essere un po 'confuso qui. C'è una ragione per non usare semplicemente un elenco? –
"un'interfaccia è usata per leggere e non scrivere o modificare" ?? Non capisco questa affermazione. Intendi IEnumerable? – brickner
Un po 'male spiegato, intendo che l'interfaccia Ienumerable non contiene un metodo "add" perché è usato per restituire oggetti dalla collezione corrente non per aggiungere o rimuovere qualcosa da esso. –