2009-06-15 3 views
1

BindingList < 예를 들어 사람 >이 있고이를 컨트롤에 바인딩하는 경우 Person 클래스가 INotfiyPropertyChanging/Changed를 구현하지 않으면 기본 List에 대한 변경 내용이 컨트롤에 자동으로 표시되지 않습니다. 내 질문은 프레임 워크에 관한 한 이러한 인터페이스에 대한 다른 용도가 있습니까? 이러한 이벤트를 기반으로 자신의 액션을 구현하기 위해 이러한 인터페이스를 사용하는 것에 대해 이야기하는 것이 아니라 .NET Framework 자체에 대해 이야기하고 있습니다. 이러한 인터페이스를 구현해야 할 또 다른 필요성이 있습니까?Databinding 이외의 .NET Framework에서 INotifyPropertyChanging/Changed가 사용됩니까?

답변

3

100 % 신뢰도로 말할 수는 없지만 다른 답변이 없기 때문에 나는 반사경을 해고하고 어떤 클래스가 INotifyPropertyChanged에 종속성이 있는지 확인했다. 다음과 같이 보입니다. 아니요, 실제로 다른 용도로 사용되지는 않습니다.

  • System.Configuration.ApplicationSettingsBase - 그래서 당신은 응용 프로그램 설정에 대한 자신의 프로 바이더를 구현하기로 결정한다면 그것은 INPC 기능을 표시해야합니다

    클래스를 통해 찾고, 비 데이터 바인딩 참조 중 일부입니다. 따라서 DataBinding 외부에서 사용되는 영역이 있지만 매우 좁은 틈새 영역이 있습니다.

  • System.Printing.PrintTicket도 INPC를 구현합니다. NET을 통해 많은 양의 인쇄 작업을 수행하지는 않았으므로 중요 할 수도 있습니다. 나는 정말로 말할 수 없었다.

그래서 더욱 완벽하게 질문에 대답 : 당신은 데이터 바인딩되지 않은 경우 당신이 당신의 클래스에서 INotifyPropertyChanged를 구현하기에 어떤 이익을 찾을 수 의심, 인터페이스가 외부에서 사용되는 몇 가장자리 경우가 있습니다 DataBinding 컨텍스트가 있지만 이러한 영역에서 작업하는 경우 신속하게 직접 찾을 수 있습니다.

+2

Linq to SQL은 데이터베이스 개체에 대한 변경 내용 추적을 수행하기 위해 SQL을 사용합니다. (http://msdn.microsoft.com/en-us/library/bb425822.aspx#linqtosql_topic25) – Marchy

관련 문제