private void callOnClick(System.Web.UI.WebControls.Button btn)//完全不懂不懂
{
Type t = typeof(System.Web.UI.WebControls.Button);
object[] p = new object[1];
MethodInfo m = t.GetMethod("OnClick",BindingFlags.NonPublic|BindingFlags.Instance);
p[0] = EventArgs.Empty;
m.Invoke(btn, p);
return;
}
就是执行传入btn的onclick方法吧
System.Web.UI.WebControls.Button 这个类的 OnClick 方法是私有的,通过反射的方式可以调用它
是类似于java中反射原理去调用方法名为OnClick的方法,类似Class.forName("XXX")获取需要的类型;
去看看C#进阶版的反射就好了