한 가지 자동 get/set 속성을 가진 일반 C# 클래스가 있다고 가정 해 보겠습니다.set 속성을 호출 할 때 이벤트를 평가할 수 있습니까?
public class Entity
{
public String SomeProperty {get;set;}
}
SomeProperty의 set 메서드를 호출 할 때 발생하는 이벤트가 있으며 평가할 수 있습니까?
어떤 식 으로든 가능한이 같은 것입니다, 아마 반사?
의사 코드, NO REAL CODE : 내가 아는
Entity e = new Entity();
e.SomeProperty.SetterCalled += OnSetterCalled;
private void OnSetterCalled(Sender propertyinfo)
{
propertyinfo pi = propertyinfo;
Console.Write (pi.Name);
}
, 내가 CallerMember를 사용할 수 있지만 그때가 있었다 자동 속성을 변경하십시오.
당신은 실제 게터/세터 메소드를 추가 할 수 있습니다 : 여기
은 좋은 연습입니다. 속성에 액세스 할 때마다 호출됩니다. 정확하게 설계된 것입니다. –
나는 두려운, 어려운 구현 방법을 생각할 수 있습니다. 그러나 현실적으로 말하면 어떨까요? 아니요. setter는 필드에 간단한 쓰기 만하도록 최적화되어있을 것입니다. 그렇지 않은 경우에도 메소드 호출을 트랩 할 수있는 기본 제공 메커니즘이 없습니다. 알림을 받으려면 이러한 이벤트에 일반적으로 많이 사용되는 기술 중 하나를 통해 구현하십시오. –
@Ken White : 정보를 찾을 수있는 힌트 또는 URL을 주시겠습니까? 자동으로 get/set 속성을 구현할 수 있습니까? – Michael