Qual è la differenza tra i metodi System.ComponentModel.BindingList
Add(object)
e AddNew()
? La documentazione MSDN dice:System.ComponentModel.BindingList: Aggiungi (oggetto) a AddNew()
Add
: Aggiunge un oggetto alla fine delCollection<T>
.AddNew
: aggiunge un nuovo elemento alla raccolta.
Sembra che entrambi i metodi aggiungere un elemento della collezione, ma Add(object)
lo fa in un solo colpo, mentre AddNew()
è leggermente più complicato. I miei test con Add(object)
sembrano funzionare, ma voglio sapere se sto usando il metodo corretto.
Quindi qual è la differenza tra questi metodi?
AddNew aggiunge un oggetto "vuoto". È stato eseguito solo il costruttore predefinito. Solleva l'evento AddingNew per consentire ad altre classi di personalizzare l'inizializzazione dell'oggetto. Notare che EndNew deve essere chiamato dopo aver impostato le sue proprietà. Non è chiaro quale sia "migliore" nel tuo caso. Semplice è meglio. –
@HansPassant sei un risparmiatore di vita! Stavo vivendo un comportamento strano perché non stavo chiamando '.EndNew' ed ero così confuso. I metadati su ".AddNew" dovrebbero davvero menzionare questo requisito! –