8

System.ComponentModel.BindingList 메서드 Add(object)AddNew()의 차이점은 무엇입니까?System.ComponentModel.BindingList : Add (개체) vs. AddNew()

  • Add : 다음 Collection<T>의 마지막에 객체를 추가 MSDN 설명서는이 말한다.

  • AddNew : 컬렉션에 새 항목을 추가합니다.

두 가지 방법이 컬렉션에 항목을 추가 할 것 같다,하지만 AddNew()이 약간 더 복잡 반면 Add(object)는 한 번에 그것을 않습니다. Add(object)의 테스트가 제대로 작동하는 것 같지만 정확한 방법을 사용하고 있는지 알고 싶습니다.

그렇다면이 두 방법의 차이점은 무엇입니까?

+4

AddNew는 '빈'개체를 추가합니다. 기본 생성자 만 실행되었습니다. AddingNew 이벤트를 발생시켜 다른 클래스가 객체 초기화를 사용자 정의 할 수있게합니다. EndNew는 속성을 설정 한 후에 호출해야합니다. 귀하의 경우 어느 쪽이 '더 나은'것인지 명확하지 않습니다. 단순합니다. –

+1

@HansPassant 당신은 생명을 구하는 사람입니다! 나는 .EndNew를 부르지 않았기 때문에 나는 이상한 행동을 경험하고 있었고, 나는 너무 혼란 스러웠다. '.AddNew'의 메타 데이터는 실제로이 요구 사항을 언급해야합니다! –

답변

7

AddNew()은 개체를 만듭니다 (매개 변수가없는 이유입니다).
Add()에 전달할 새 개체를 만드는 방법을 모르는 그리드에서 사용하도록 설계되었습니다.