我有这段代码,我用它来引发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));
}
}
}
,我称其为这样:
this.RaisePropertyChanged(() => this.IsReady);
这将提高针对的isReady属性的PropertyChanged事件。我喜欢这个想法,因为以这种方式编写代码将有助于非常轻松地更改该属性的名称。
现在我想使用相同的技术将属性的名称和值传递给方法。有什么办法可以做到这一点?
你想传递调用类或其他类的属性吗? –
[使用表达式树读取属性的名称和值的可能重复。有没有替代?](http://stackoverflow.com/questions/1835527/using-an-expression-tree-to-read-the-name-and-value-of-a-property-is-therean -一个) – nawfal