A List<>เป็นเพียงการปรับขนาดอาร์เรย์ของรายการประเภทที่กำหนดโดยอัตโนมัติพร้อมด้วยฟังก์ชันตัวช่วยสองสามอย่าง (เช่น: sort) เป็นเพียงข้อมูลและคุณน่าจะใช้เพื่อเรียกใช้การดำเนินการกับชุดของวัตถุในแบบจำลองของคุณ
A BindingList<>คือกระดาษห่อหุ้มรอบรายการที่พิมพ์หรือคอลเลกชันซึ่งใช้IBindingListอินเทอร์เฟซ นี่เป็นหนึ่งในอินเทอร์เฟซมาตรฐานที่รองรับการเชื่อมต่อฐานข้อมูลแบบสองทาง ทำงานโดยใช้ListChangedเหตุการณ์ซึ่งจะเพิ่มขึ้นเมื่อคุณเพิ่มลบหรือตั้งค่ารายการ Bound controls จะฟังเหตุการณ์นี้เพื่อที่จะทราบว่าเมื่อใดควรรีเฟรชการแสดงผล
เมื่อคุณตั้งค่า DataSource ของ BindingSource เป็น a List<>ระบบจะสร้างBindingList<>เพื่อรวมรายการของคุณภายใน คุณอาจต้องการห่อรายชื่อของคุณไว้ล่วงหน้าBindingList<>หากคุณต้องการเข้าถึงรายการภายนอก BindingSource แต่อย่างอื่นก็เหมือนกัน คุณยังสามารถสืบทอดจากBindingList<>เพื่อใช้พฤติกรรมพิเศษเมื่อเปลี่ยนรายการ
IEditableObjectถูกจัดการโดย BindingSource มันจะเรียก BeginEdit บนออบเจ็กต์การใช้งานใด ๆ เมื่อคุณเปลี่ยนข้อมูลในการควบคุมที่ถูกผูกไว้ จากนั้นคุณสามารถเรียก EndEdit / CancelEdit บน BindingSource และมันจะส่งต่อไปยังวัตถุของคุณ การย้ายไปยังแถวอื่นจะเรียก EndEdit เช่นกัน