8

¿Cuál es la diferencia entre los métodos System.ComponentModel.BindingListAdd(object) y AddNew()? La documentación de MSDN dice esto:System.ComponentModel.BindingList: Add (object) contra AddNew()

  • Add: Agrega un objeto al final de la Collection<T>.

  • AddNew: Agrega un nuevo elemento a la colección.

Parece que ambos métodos añaden un elemento a la colección, pero Add(object) lo hace de una sola vez, mientras que AddNew() es un poco más complicado. Mis pruebas con Add(object) parecen estar funcionando, pero quiero saber si estoy usando el método correcto.

¿Cuál es la diferencia entre estos métodos?

+4

AddNew agrega un objeto 'vacío'. Solo se ejecutó el constructor predeterminado. Aumenta el evento AddingNew para permitir que otras clases personalicen la inicialización del objeto. Tenga en cuenta que se debe llamar a EndNew después de configurar sus propiedades. No está claro cuál es 'mejor' en su caso. Simple es mejor. –

+1

@HansPassant eres un salvavidas! Estaba experimentando un comportamiento extraño porque no estaba llamando '.EndNew' y estaba tan confundido. ¡Los metadatos en '.AddNew' realmente deberían mencionar este requisito! –

Respuesta

7

crea el objeto para usted (por eso no tiene un parámetro).
Está diseñado para ser utilizado por cuadrículas, que no saben cómo crear un nuevo objeto para pasar al Add().