8

System.ComponentModel.BindingList方法Add(object)和有什么区别AddNew()?MSDN 文档是这样说的:

  • Add: 将对象添加到Collection<T>.

  • AddNew:将新项目添加到集合中。

似乎这两种方法都将一个项目添加到集合中,但是Add(object)一次完成,而AddNew()稍微复杂一些。我的测试Add(object)似乎有效,但我想知道我是否使用了正确的方法。

那么这些方法有什么区别呢?

4

2 回答 2

10

AddNew()为您创建对象(这就是它没有参数的原因)。
它被设计为网格使用,它们不知道如何创建一个新对象来传递给Add().

于 2012-04-17T19:49:03.807 回答
0

当您实现 BindingList() 的派生类时,AddNew() 非常方便(这是众所周知的工厂设计模式)。

它允许您的代码使用取决于列表本身的值初始化新项目 - 例如,如果绑定列表包含子列表,则为父对象的外键。

于 2021-12-13T17:12:33.293 回答