我正在尋找一種方法來在運行時更改/添加給定類的屬性的訪問器。 示例代碼波紋管,在類的.ctor上運行,我想要達到的是將'TheSetMethod'添加到'設置'每個'字段'的訪問器,以便通過在運行時更改字段。 供參考:這背後有一個實現約束,這使得我這樣做,而不是使用標準的「get; set;」祖先,所以我不能'得到;設定';'在設計時間。如何在運行時更改屬性訪問器
public string field1;
.ctor()
{
Type typeWebConfig = this.GetType();
MemberInfo[] Fields = typeWebConfig.GetMembers(BindingFlags.Public |
BindingFlags.Instance);
foreach(MemberInfo member in Fields)
if(member.MemberType == MemberTypes.Field)
{
FieldInfo field = (FieldInfo)member;
//add a delegate method to field's 'SET'
}
}
void TheSetMethod(string propName)
{
}
任何幫助將不勝感激。 乾杯
您是否將C#與動態語言混淆? – 2012-03-28 23:52:15
所以如果一個類使用另一個類,並且突然使用的類改變了它的訪問器,第一個類如何處理它? – 2012-03-28 23:52:50
感謝您的意見,但我真的很感激,如果你真的幫助:) – Afshin 2012-03-29 00:07:43