我有一个自定义方法Control
,我在上面覆盖了该OnInit
方法。
更新
看来我需要Init
通过userControl.GetType().GetEvent("Init")
. 但是RaiseMethod
事件的属性是,null
所以我无法通过反射引发事件。有什么线索吗?
老的
我使用以下代码加载控件(ReflectionUtil
使用反射调用方法):
Page p = new Page();
UserControl userControl = (UserControl)p.LoadControl(path);
p.Controls.Add((Control)userControl);
//EventArgs eventArgs = new EventArgs();
//ReflectionUtil.CallMethod((object)p, "OnInit", (object[])new EventArgs[1] { eventArgs });
//ReflectionUtil.CallMethod((object)userControl, "OnInit", (object[])new EventArgs[1] { eventArgs });
//Plain Reflection doesn't work either...
EventArgs eventArgs = new EventArgs();
MethodInfo initMethod = userControl.GetType().GetMethod("OnInit");
initMethod.Invoke(userControl, (object[])new EventArgs[1]
{
eventArgs
});
但是,当我在自定义控件的OnInit
方法中设置断点时,它不会被调用。我在这里错过了什么吗?任何帮助是极大的赞赏。