8

System.ComponentModel.BindingListのメソッドAdd(object)AddNew()の違いは何ですか? MSDNのドキュメントには、これは言う:System.ComponentModel.BindingList:Add(オブジェクト)とAddNew()の比較

  • AddCollection<T>の末尾にオブジェクトを追加します。

  • AddNew:コレクションに新しいアイテムを追加します。

両方の方法は、コレクションに項目を追加するように思えるが、AddNew()は少し複雑であるのに対しAdd(object)は一発でそれをしません。 Add(object)のテストはうまくいくようですが、正しい方法を使用しているかどうかを知りたいのです。

これらの方法の違いは何ですか?

+4

AddNewは空のオブジェクトを追加します。既定のコンストラクターのみが実行されました。 AddingNewイベントを発生させ、他のクラスがオブジェクトの初期化をカスタマイズできるようにします。 EndNewはプロパティを設定した後に呼び出す必要があることに注意してください。あなたの場合、どちらが「より良い」かは明確ではありません。シンプルです。 –

+1

@HansPassantあなたは命を救う人です!私は '.EndNew'を呼んでいなかったので私は奇妙な行動を経験していました。私はとても混乱していました。 '.AddNew'のメタデータは本当にこの必要条件を述べるべきです! –

答えて

7

AddNew()は、オブジェクトを作成します(パラメータがないためです)。
Add()に渡す新しいオブジェクトを作成する方法がわからないグリッドで使用するように設計されています。

関連する問題