Lista vs BindingList Ventajas / DisAdvantages

¿Alguien puede describir cuál es la diferencia entre los dos para mi proyecto?

Actualmente tengo una List y configuro BindingSource para eso y un DataGridView para BindingSource.

He implementado IEditableObject así que cuando se llama a CancelEdit reverso mi objeto a lo que era con un Memberwise.Clone()

¿Cambiaré mi Lista a una lista de encuadernación para resolver esto y cuáles son las ventajas de usar una lista de encuadernación?

Una List<> es simplemente una matriz de cambio de tamaño automático, de elementos de un tipo determinado, con un par de funciones auxiliares (por ejemplo: ordenar). Son solo los datos, y es probable que los use para ejecutar operaciones en un conjunto de objetos en su modelo.

Un BindingList<> es un contenedor alrededor de una lista de IBindingList o una colección, que implementa la interfaz IBindingList . Esta es una de las interfaces estándar que admiten enlaces de datos bidireccionales. Funciona mediante la implementación del evento ListChanged , que se ListChanged cuando agrega, elimina o establece elementos. Los controles vinculados escuchan este evento para saber cuándo actualizar su pantalla.

Cuando configura un DataSource de BindingSource en una List<> , internamente crea una BindingList<> para envolver su lista. Es posible que desee BindingList<> su lista con BindingList<> usted mismo si desea acceder a ella fuera de BindingSource, pero de lo contrario es lo mismo. También puede heredar de BindingList<> para implementar un comportamiento especial al cambiar elementos.

IEditableObject es manejado por BindingSource. Llamará a BeginEdit en cualquier objeto de implementación cuando cambie los datos en cualquier control vinculado. Luego puede llamar a EndEdit / CancelEdit en BindingSource y lo pasará a su objeto. Moverse a una fila diferente llamará también a EndEdit.

Un BindingList permite el enlace de datos bidireccional mediante el uso de eventos, una Lista no activa eventos cuando su colección cambia.

No creo que solucione tu problema en particular.