이 코드를 가지고 있으며이 코드를 사용하여 속성 이름을 함수에 전달하지 않고 PropertyChanged 이벤트를 발생시킵니다.리플렉션을 사용하여 속성의 이름과 값을 얻으려면 어떻게해야합니까?
private void RaisePropertyChanged<TValue>(Expression<Func<TValue>> propertySelector)
{
var memberExpression = propertySelector.Body as MemberExpression;
if (memberExpression != null)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(memberExpression.Member.Name));
}
}
}
와 나는이 방법으로 호출하고 다음 isReady 상태 속성에 대한하여 PropertyChanged 이벤트를 발생합니다
this.RaisePropertyChanged(() => this.IsReady);
. 나는이 방법으로 코드를 작성하는 것이 속성 이름을 매우 쉽게 변경하는 데 도움이 될 것이라는 생각을 좋아합니다.
이제 동일한 기술을 사용하여 속성의 이름과 값을 메서드에 전달하고 싶습니다. 내가 할 수있는 방법이 있니?
호출 클래스 또는 다른 클래스의 속성을 전달 하시겠습니까? –
[식 트리를 사용하여 속성의 이름과 값을 읽을 수 있습니다. 거기에 대안이 있습니까?] (http://stackoverflow.com/questions/1835527/using-an-expression-tree-to-read-the-name-and-value-of-a-property-is-there-an -에이) – nawfal