【发布时间】:2012-04-20 09:11:55
【问题描述】:
NotificationObject 中有一个此方法的重载:-
protected void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression);
我们在属性的setter中这样写:
RaisePropertyChanged(() => PropertyVariable);
它是如何工作的?它如何从这个 Lambda 表达式中找到属性名称?
【问题讨论】:
-
这描述了它是如何完成的:stackoverflow.com/questions/141370/…
-
在 C# 5 中,你甚至不需要反射魔法:robfe.com/2011/09/…
-
我忍不住在这里建议 resharper,当你尝试去方法定义(F12)时,它很容易反编译。你也可以使用其他反编译器,比如反射器。