System.ComponentModel.BindingList:Add(object)vs. AddNew()
问题描述:
System.ComponentModel.BindingList
方法Add(object)
和AddNew()
之间有什么区别? MSDN文档这样说:System.ComponentModel.BindingList:Add(object)vs. AddNew()
好像这两种方法将项目添加到集合,但Add(object)
做它在一杆,而AddNew()
稍微复杂一些。我的测试Add(object)
似乎正在工作,但我想知道我是否正在使用正确的方法。
那么这些方法有什么区别?
答
AddNew()
为您创建对象(这就是为什么它没有参数)。
它被设计为网格使用,它不知道如何创建一个新对象传递给Add()
。
AddNew添加一个'空'对象。只运行默认的构造函数。它引发AddingNew事件以允许其他类自定义对象初始化。请注意,EndNew必须在设置其属性后调用。目前尚不清楚哪一个对您而言“更好”。简单更好。 – 2012-04-17 19:59:38
@HansPassant你是一个拯救生命的人!我正在经历奇怪的行为,因为我没有打电话给“.EndNew”,我很困惑。 '.AddNew'上的元数据应该提到这个要求! – 2012-05-19 09:06:26