【发布时间】:2015-04-22 01:16:12
【问题描述】:
在大多数情况下,他们都说要编写这样的方法:
private void OnPropertyChanged(string prop)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
并称之为OnPropertyChanged("PropName");。但这似乎是非常静态的,无法自动重构。有没有办法更动态地做到这一点?我考虑使用System.Diagnostic.StackTrace 类来获取属性的名称,但它看起来很难看,效率也不高,而且我无法在例如 Windows Phone 8 应用程序中访问它(为什么!?)。
【问题讨论】:
-
你说的“静态实现”是什么意思?
-
OnPropertyChanged("PropName");- 你必须提供编译时已知的字符串。
标签: c# .net mvvm metaprogramming