c#获取方法的指针 示例方法:public int aa(int a ,int b){ return a+b;}c#获取怎么来获取aa方法的指针?请高手赐教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 委过吧.delegate daa(int a,int b) delegate 怎么返回指针呢? 我不是很会.但我感觉return 了还能获取得到吗? 委托帮你封装好指针了,用不着你直接去操作指针或者写unsafe代码 我也不太明白,现在就是要一个uint类型的方法指针 说了这么一大对,楼猪还是整一个完整的事件算求了EVENT 但是委托怎么返回一个uint类型的值呢?悬赏加分了~~~~ 因为c#调用C++里面的一个方法,这个方法的参数是一个结构,结构里面有一个成员需要一个函数的指针(c++:DWORD对应c#:uint)。所以才需要这个值! 你是调用api的回调需要一个uint类型的函数指针吗?这种情况下可以将那个参数声明为委托类型.net 封送时会给你转成函数指针的. 直接传delegate就行,如果一定要返回其指针,可以这样delegate int Vpointer(int A, int B);static void Main(string[] args){ Vpointer vp = aa; IntPtr p = Marshal.GetFunctionPointerForDelegate(vp);}static int aa(int a, int b){ return a + b;}里面的p就是一个uint形式的函数指针。 intptr直接转uint或者int*都可以传进去。本身delegate也可传进去,你定义那个结构的时候将该字段定义为一个delegate类型,例如上面代码中的Vpointer类型。 我告诉你吧,你定义一个委托,用一个方法可以获得这个委托的指针,也就是你想要的这个委托的方法指针了我做过这块,是调用C++的一个方法需要把指针传送进去,当然你定义方法的时候也可以定义成委托类型的参数这样你传委托就可以,这个没试验过所以不敢确定,但是我敢确定的是委托可以转换成intprt类型的句柄,取得这个句柄以后转换成int类型的就行了。toint32(); 用了线程,怎样让它不卡。简单的线程问题求助!! 界面只有一个TextBox,怎么让它失焦点 图形操作时,怎么才能脱离母操作对象 js调用服务器端代码参数传递问题? 如何做客户端的数据检索? 关于视频文件播放、保护的问题 DOS指令大全、本人最近、急用、、 高分请教代码转换问题,在线等,解决就给分。 devexpress中xtragrid控件判断该行是否被选中怎样判断 数据库中的小问题 求个正则 如何获取listview的值
delegate daa(int a,int b)
但我感觉return 了还能获取得到吗?
或者
写unsafe代码
悬赏加分了~~~~
这种情况下可以将那个参数声明为委托类型
.net 封送时会给你转成函数指针的.
static void Main(string[] args)
{
Vpointer vp = aa;
IntPtr p = Marshal.GetFunctionPointerForDelegate(vp);
}
static int aa(int a, int b)
{
return a + b;
}里面的p就是一个uint形式的函数指针。
我做过这块,是调用C++的一个方法需要把指针传送进去,当然你定义方法的时候也可以定义成委托类型的参数
这样你传委托就可以,这个没试验过所以不敢确定,但是我敢确定的是委托可以转换成intprt类型的句柄,取得这个句柄以后转换成int类型的就行了。toint32();