【发布时间】:2011-10-13 17:23:30
【问题描述】:
例如,我有一个包含在类中的属性
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];
【问题讨论】:
标签: c# reflection properties anonymous-methods aspects