0
我一直有问题一段时间,我只是无法弄清楚。将外部事件附加到方法
如何将外部事件附加到方法或属性? 我的意思是,我如何能够通过反射附加一个事件的一类,这样,每当一个方法或属性访问器被称为事件将提高(这应该是这个样子:
OnPropertyAccessing(object sender, PropertyInfo property, EventArgs e)
我基本上需要以某种方式创建一个抽象类(或使用扩展的外部)(使用反射)处理所有的属性或方法调用它的孩子作为虚拟类,谁的唯一重要性是属性的名称
我期望这可能不清楚,因此,例如:
public class Father
{ ... }
public class Son1 : Father
{
public string aaa {get; set;}
public string bbb {get; set;}
}
public class Son2 : Father
{
public DateTime ccc {get;set;}
}
正如你所看到的,在“Son1”和“Son2”中没有任何东西意味着什么,这是因为所有实际的“思考”都是由“父亲”完成的,他被告知已经对该属性发出了请求“Son1”类型的对象“s”的“aaa”,然后决定属性应该返回的内容。
很显然,我不想写是这样的:
public class Father
{
protected object pget(string propertyName)
{ ... }
protected void pset(string propertyName, object value)
{ ...}
}
public class Son1 : Father
{
public string aaa
{
get
{
return base.pget("aaa").toString();
}
set
{
base.pset("aaa", value);
}
}
...
}