8

System.ComponentModel.BindingList方法Add(object)AddNew()之間有什麼區別? MSDN文檔這樣說:System.ComponentModel.BindingList:Add(object)vs. AddNew()

  • Add:將對象添加到Collection<T>結束。

  • AddNew:將新項目添加到集合中。

好像這兩種方法將項目添加到集合,但Add(object)做它在一杆,而AddNew()稍微複雜一些。我的測試Add(object)似乎正在工作,但我想知道我是否正在使用正確的方法。

那麼這些方法有什麼區別?

+4

AddNew添加一個'空'對象。只運行默認的構造函數。它引發AddingNew事件以允許其他類自定義對象初始化。請注意,EndNew必須在設置其屬性後調用。目前尚不清楚哪一個對您而言「更好」。簡單更好。 – 2012-04-17 19:59:38

+1

@HansPassant你是一個拯救生命的人!我正在經歷奇怪的行爲,因爲我沒有打電話給「.EndNew」,我很困惑。 '.AddNew'上的元數據應該提到這個要求! – 2012-05-19 09:06:26

回答

7

AddNew()爲您創建對象(這就是爲什麼它沒有參數)。
它被設計爲網格使用,它不知道如何創建一個新對象傳遞給Add()

相關問題