c# 反射-Delegate.CreateDelegat 抛出异常:方法绑定失败

问题描述

Delegate.CreateDelegat 抛出异常:方法绑定失败

异常:
System.ArgumentException:绑定到目标方法时出错
PS:MenuItem_Clicked 方法通过反射方式已经可以调用
代码:
绑定到Delegate
string methodName = "MenuItem_Clicked";
MethodInfo menuItemClicked = funType.GetMethod(methodName);
if (menuItemClicked == null)
throw new MethodException(funType.FullName+":"+methodName);

Delegate menuItemHandler = Delegate.CreateDelegate(typeof(EventHandler),item, menuItemClicked,true);
item.GetType().GetEvent("Click").AddEventHandler(item, menuItemHandler);

要绑定的方法
public void MenuItem_Clicked(Object sender, EventArgs e)
{

}

时间: 2024-12-03 19:51:45

c# 反射-Delegate.CreateDelegat 抛出异常:方法绑定失败的相关文章

jQuery on()方法绑定动态元素的点击事件实例代码浅析_jquery

之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动态生成的标签点击了没反应,而live方法却能够支持,于是乎到处查资料,问网友,结果找了好久在一篇文章中终于找到了答案... jQuery 使用on绑定动态生成的元素时,不能直接用该对象操作,而是选择其非动态生成的父节点然后再找到本身才能达到效果.大家看看源码就知道了.生成的按钮基数项on方法点击无效l

jquery on()方法绑定多个选择器,多个事件

on(events,[selector],[data],fn) •events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" . •selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代.如果选择器为null或省略,当它到达选定的元素,事件总是触发. •data:当一个事件被触发时要传递event.data给事件处理函数. •fn:该事件被触发时执行的函数. false 值也可以做一个函数的

thinkPHP基于反射实现钩子的方法分析

本文实例讲述了thinkPHP基于反射实现钩子的方法.分享给大家供大家参考,具体如下: ThinkPHP框架的控制器模块是如何实现 前控制器.后控制器,及如何执行带参数的方法? PHP系统自带的 ReflectionClass.ReflectionMethod 类,可以反射用户自定义类的中属性,方法的权限和参数等信息,通过这些信息可以准确的控制方法的执行. ReflectionClass: 主要用的方法: hasMethod(string)  是否存在某个方法 getMethod(string)

junit-ECLIPSE现在使用JUNIT4测试,只有方法测试失败的时候才会显示左侧的测试方法列表么?

问题描述 ECLIPSE现在使用JUNIT4测试,只有方法测试失败的时候才会显示左侧的测试方法列表么? ECLIPSE现在使用JUNIT4测试,只有方法测试失败的时候才会显示左侧的测试方法列表么? 解决方案 参考下:http://www.tuicool.com/articles/fArMFjJ 解决方案二: 参考下:http://www.tuicool.com/articles/fArMFjJ

比较一下以“反射”和“表达式”执行方法的性能差异

由于频繁地使用反射会影响性能,所以ASP.NET MVC采用了表达式树的方式来执行目标Action方法.具体来说,ASP.NET MVC会构建一个表达式来体现针对目标Action方法的执行,并且将该表达式编译成可执行代码.编译后的可执行代码体现为一个委托对象,该委托对象会被缓存起来以用于针对同一个Action方法的执行.为了让大家能够和直观地理解两种(直接利用反射和利用表达式编译后的委托对象)方法执行在性能上的差异,我们来做一个简单的实例演示.我们在一个控制台应用中定义了如下一个Foobar类型

指针-bind绑定失败,错误10049,不知道怎么改了

问题描述 bind绑定失败,错误10049,不知道怎么改了 int main_s6(){ // 创建套节字 DWORD dwThread_ms; HANDLE h_thread; char ip_temp[128] = {0}; char port_temp_i[32] = {0};int port_temp_a = 0;printf(""Please input the ip address Defaults is ::1n->"");getchar();g

javascript 前端-javascript中文本输入框通过bind方法绑定得到焦点和失去焦点时间

问题描述 javascript中文本输入框通过bind方法绑定得到焦点和失去焦点时间 通过id找到文本输入框,将该文本输入框在JavaScript中通过bind方法绑定得到焦点和失去焦点事件,不要在html中实现! 解决方案 $("input[@type=text]").bind({"focus":function(){alert(new Date())},"blur":function(){alert(new Date()}}) 解决方案二:

stm32-STM32位绑定失败

问题描述 STM32位绑定失败 如题,当我绑定之后,想要PA的第8脚输出高电平,但是不成功.求解答...附上代码,请找错误...在线等.... #include #define GPIOA_ODR_A (GPIOA_BASE+0X0C) #define bitband(addr,n) *((volatile unsigned long *)(addr & 0xf0000000 +0x2000000 + (addr & 0x0fffffff) << 5 + n <<2

Jquery on方法绑定事件后执行多次的实现方法_jquery

这两天工作中遇到使用js动态加载内容,同时需要对加入的内容绑定点击事件的,当时想想了想可以使用内联的onclick 来实现,后来没有这样做,使用的是 on('click',function(){}) ,然而使用on方法的时候就发现,on 对同一个元素多次绑定同一个事件的时候,这个事件就会执行多次. 下面给出这种情况的实例: $(function(){ $(".add").click(function(eve){ $(".btn-area").append("