我一直在寻找,但我似乎无法找到我在找什么,所以我会在这里放弃它。C#WPF如何动态设置属性设置器方法?
情况: 我有类MainWindow和MainWindowData。在MainWindowData中只有使用UpdateGUI属性定义的公共属性。
public class UpdateGUI : Attribute { }
public class MainWindowData
{
[UpdateGUI]
public string TESTVAR { get; set; }
}
现在我想为MainWindowData中的每个属性的setter方法添加一个方法。更具体:
void OnPropertyChanged(String PropertyName);
我想我会在主窗口的构造函数获取所有UpdateGUI属性,然后莫名其妙地添加另一种方法,但是这就是我卡住了。 我使用此代码来获取所有属性,其工作方式:
List<PropertyInfo> properties = (from pi in typeof(MainWindowData).GetProperties()
where pi.GetCustomAttributes(typeof(UpdateGUI), false).Any()
select pi).ToList();
这给了我,我要更新所有属性的一个不错的清单。
所以,问题是:我怎样才能让这个属性动态获得转化而来:
到:
[UpdateGUI]
private string _TESTVAR;
public string TESTVAR {
get {
return _TESTVAR;
}
set {
_TESTVAR = value;
OnPropertyChanged("TESTVAR");
}
}
感谢您的帮助!这将不胜感激:)
问候
+1有趣的问题,将很高兴看到这是什么出来。 –