例如,我有一个包含在类中的属性
public class Greeter {
private Hashtable _data;
public string HelloPhrase { get; set; }
public Greeter(data) {
_data = data;
}
}
我想做的是向 HelloPhrase 属性添加一个属性,就像这样
[MyCustomAttribute("Hello_Phrase")]
public string SayHello { get; set; }
这样在构造函数期间,我可以反映已定义 MyCustomAttribute 的 Class(Greeter) 中的属性,并将该属性的 Get/Set 方法设置为匿名方法/委托。
public Greeter(data) {
_data = data;
ConfigureProperties();
}
我设法从类中获取了 PropertyInfo,但这仅公开了 GetSetMethod (http://msdn.microsoft.com/en-us/library/system.reflection.propertyinfo.getsetmethod.aspx) 和相应的 GetGetMethod。
我在这里和在线阅读了一些问题,但找不到不使用某种 Aspects 库的答案。
任何人都可以提供在运行时设置 Get/Set 方法的指针吗?理想情况下,像这样的代表
x =>_data[keyDefinedByAttribute];