2010-12-03 3 views
3

PropertyChangedEventHandler는 어떻게 사용됩니까? 클래스 'Initalize 메서드가 수행하는 코드의이 비트가 무엇인지 말해 줄 수 있습니까? 우리가 작업하고있는 프로젝트의 클래스에는 private Initialize 메서드가 있습니다. 그리고이 방법에는 제가 토론하고 싶은 약간의 코드가 있습니다.
하지만 먼저 수업을 설명하겠습니다. 클래스는 다음과 같이 정의됩니다. public class Skoobie : BaseThingy, ISkoobiePropertyChangedEventHandler는 어떻게 사용됩니까?

그래서 "Skoobie"클래스에는 상속하는 두 개의 부모가 있음을 의미합니다. 이것에 대한 모든 의미는 무엇입니까? Initalize 방법이 같은 것입니다, 그래서

어쨌든, :

공개 이벤트 PropertyChangedEventHandler :

private void Initialize() 
{ 
      this.PropertyChanged += (o, e) => 
       { 
        If (e != null) 
        { 
         // some stuff is done 
        } 

       }; 
} 

이제 "하여 PropertyChanged"다음과 같이 정의되어있는 상위 클래스 "BaseThingy"의 회원입니다 PropertyChanged; 코드 this.PropertyChanged + = (o, e) => ... 전부입니까? 그것은 LINQ의 thingy인가?

답변

4

이것은 PropertyChanged 이벤트에 추가되는 람다 식 (http://msdn.microsoft.com/en-us/library/bb397687.aspx)입니다.
이 이벤트는 INotifyPropertyChanged 인터페이스에 정의되어 있습니다. http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx
이 이벤트는 WPF/Silverlight의 데이터 바인딩과 같은 작업에서 기본적입니다. 데이터 객체를 더티 (dirty)로 설정하기 위해 직접 사용합니다. 희망이 도움이됩니다.

Skoobie : BaseThingy 공용 클래스의 경우 ISkoobie C#에는 다중 상속이 없습니다. 그러나 여러 개의 인터페이스를 구현할 수 있습니다 (귀하의 경우 ISkoobie는 인터페이스이고 BaseThingy는 기본 클래스 임)

+0

아주 좋습니다. 고맙습니다. – xarzu

관련 문제