У меня есть свойство, содержащееся в классе, например
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; }
Так, чтобы во время конструктора я мог размышлять над Свойствами в классе (Greeter), где был определен MyCustomAttribute, и устанавливать методы Get / Set свойства в анонимный метод / делегат.
public Greeter(data) {
_data = data;
ConfigureProperties();
}
Мне удалось получить PropertyInfo от класса, но это только выставляет GetSetMethod (http://msdn.microsoft.com/en-us/library/system.reflection.propertyinfo.getsetmethod.aspx) и соответствующий GetGetMethod.
Я прочитал некоторые вопросы здесь и в Интернете, но не могу найти ответ, который не использует какую-либо библиотеку аспектов.
Может ли кто-нибудь из провайдеров указывать на настройку методов Get / Set во время выполнения? В идеале для делегата вроде
x =>_data[keyDefinedByAttribute];