2009-12-29 3 views
0

간단히하고 싶습니다. 속성을 사용하여 이벤트 발생시키기

[RaiseOnPropertyChanged()] 
public int Id { get; set; } 

어떻게 그이 수행 할 수 있습니다

private int id; 
public int Id 
{ 
    get { return id; } 
    set 
    { 
     id = value; 
     base.OnPropertyChanged("Id"); 
    } 
} 

내가 속성을 사용하여 생각에만 얻을 : 여기 코드인가? 또는 속성을 사용하여 수행 할 수 있습니까?

+0

참조 http://stackoverflow.com/questions/488587/whats-the-best-way-to-call-inotifypropertychangeds-propertychanged-event –

답변

5

아아, 당신은 C#의 범위 내에서 그렇게 할 수 없습니다. 원하는 수준을 얻으려면 IL 수준에서 작업해야합니다. 그러나 원하는 결과를 얻으려면 PostSharp과 같은 aspect 지향 기술을 사용할 수 있습니다.

2

탐색 할 수있는 가장 좋은 방법은 PostSharp와 같은 프레임 워크를 사용하는 Aspect-Oriented-Programming입니다.

PostSharp는 컴파일하는 동안 코드 템플릿으로 'fleshed-out'될 속성을 정의하게합니다. 그들의 사이트에는 몇 가지 예가 있으며 앞으로 출시 될 주요 릴리스는 이러한 유형의 시나리오에 대한 도구 작업을 상당히 쉽게 해줍니다.

2

PostSharp를 사용하여 INotifyPropertyChanged 인터페이스를 동적으로 구현할 수 있습니다.

관련 문제