我一直在寻找,但似乎找不到我需要的内容,所以我决定在这里试试。
情况: 我有一个名为MainWindow和MainWindowData的类。在MainWindowData中,只定义了使用UpdateGUI属性的公共属性。
public class UpdateGUI : Attribute { }
public class MainWindowData
{
[UpdateGUI]
public string TESTVAR { get; set; }
}
现在我想为MainWindowData中的每个属性的setter方法添加一个方法。更具体地说:
void OnPropertyChanged(String PropertyName);
我想在MainWindow构造函数中获取所有UpdateGUI属性,然后以某种方式添加另一个方法,但这就是我卡住的地方。 我使用以下代码来获取所有属性,它可以正常工作:
List<PropertyInfo> properties = (from pi in typeof(MainWindowData).GetProperties()
where pi.GetCustomAttributes(typeof(UpdateGUI), false).Any()
select pi).ToList();
这给了我一个很好的列表,列出了我需要更新的所有属性。
那么问题是:如何使这些属性动态转换为:
[UpdateGUI]
public string TESTVAR { get; set; }
to:
[UpdateGUI]
private string _TESTVAR;
public string TESTVAR {
get {
return _TESTVAR;
}
set {
_TESTVAR = value;
OnPropertyChanged("TESTVAR");
}
}
感谢您的帮助!非常感激 :)
问候