我一直在努力使用 mvp 在 C# 中连接一些 winforms。UI 开发并不完全是我的强项,我一直在寻找一种重构证明方法来实现 INotifyPropertyChanged,而不必求助于字符串来触发更改通知。
msdn 示例http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx以及我所见过的大多数其他示例都让我觉得这是错误的做法,尤其是关于事实上,如果您重构属性,则必须更改字符串。
我在 stackoverflow 上看到的所有其他选项都使用表达式和 func,遗憾的是,我支持的旧解决方案中没有工具,所以我想知道是否有人有办法复制使用表达式树来获取属性名称的当前解决方案。
我看到的解决方案的一个例子。
public static string GetPropertyName<T, TReturn>(Expression<Func<T, TReturn>> expression)
{
MemberExpression body = (MemberExpression)expression.Body; return body.Member.Name;
}
干杯