C++ dll中的对象方法中怎么调用到C#中的回调类对象

问题描述

手上有一个c++的dll,想在c#中调用。c++dll中的普通对象方法已经能够调用成功。但问题是:dll中的类对象中设计有一个回掉接口。dll中的类方法分别会调用这个回掉接口中的方法。外部调用这个dll时只要实现这个回调接口,在初始化时将这个回调接口的实现类对象指针传给dll的类对象,就能实现回掉函数的调用。想在C#中实现这个回调接口。能实现吗?或者有没有其他小技巧。如何做?

解决方案

解决方案二:

解决方案三:
回调用委托实现,注意委托尽量少用临时变量,以免被GC释放.
解决方案四:
可以,看msdn:RegisteringCallbackMethods

时间: 2024-11-03 09:57:45

C++ dll中的对象方法中怎么调用到C#中的回调类对象的相关文章

java-Android中的onConfigurationChanged方法不能被调用

问题描述 Android中的onConfigurationChanged方法不能被调用 在Android程序设置中,当转化屏幕方向时,系统告知不能调用onCreate()方法.我在manifest上添加android:configChanges=""orientation""后,转化屏幕方向还是不能调用onCreate().AndroidManifest.xml <activity android:name=""SearchMenuActi

javase-请大神帮忙看下,为什么MyPanel中的Paint方法没有被调用

问题描述 请大神帮忙看下,为什么MyPanel中的Paint方法没有被调用 package javademo; import javax.swing.*; import java.awt.*; public class DrawDemo extends JFrame{ MyPanel mp = null; public static void main(String []args){ DrawDemo drawdemo = new DrawDemo(); } public DrawDemo(){

python中的嵌套类(内部类调用外部类中的方法函数)

在为书中版本是3.X的,但2.X不太支持直接调用. 所以,在PYTHON2.X中,要在内部类中调用外部类的方法,就必须得实例化外部类,然后,传入实例进行调用. 花了我两个小时啊,资料没找到,自己一个一个想法调试,真的失败了三四十次,PRINT了N多~~~:) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4

Iterator的remove方法可保证从源集合中安全地删除对象(转)

 如果对正在被迭代的集合进行结构上的改变(即对该集合使用add.remove或clear方法),那么迭代器就不再合法(并且在其后使用该迭代器将会有ConcurrentModificationException异常被抛出). 如果使用迭代器自己的remove方法,那么这个迭代器就仍然是合法的. package chapter1; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * Crea

Python中的ceil()方法使用教程

  这篇文章主要介绍了Python中的ceil()方法使用教程,是Python入门中必会的方法之一,需要的朋友可以参考下 ceil()方法返回x的值上限 - 不小于x的最小整数. 语法 以下是ceil()方法的语法: ? 1 2 3 import math   math.ceil( x ) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数. 参数 x -- 这是一个数值表达式. 返回值 此方法返回不小于x的最小整数. 示例 下面的例子显示了c

find-关于Unity3d中GameObject.Find方法的使用

问题描述 关于Unity3d中GameObject.Find方法的使用 有一个GameObject的对象是动态加载的 我要在一个c#是去Find这个动态加载的对象 该怎么弄啊 ,在游戏运行的时候场景中.会出现这个被动态加载进来的GameObject的名字 然后我在脚本是obj = GameObject.Find("Login/Name");这样 获得到的obj还是个null是怎么回事啊 obj = GameObject.Find("Login/Name");这天语句

asp.net 导出excel与单元格中图片的方法:

asp教程.net 导出excel与单元格中图片的方法: 在asp.net教程中导出excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出流写给浏览器.在response输出时,t分隔的数据,导出excel时,等价于分列,n等价于换行. 1.将整个html全部输出excel 此法将html中所有的内容,如按钮,表格,图片等全部输出到excel中.    response.clear();        response.buf

浅谈PHP中的面向对象OOP中的魔术方法

一.什么是魔术方法: PHP为我们提供了一系列用__开头的函数,这些函数无需自己手动调用,会在合适的时机自动调用,这类函数称为魔术函数. 例如: function __construct(){} 在new一个新对象时自动调用此函数 二.PHP中都有那些魔术方法,以及它们的作用: 1.__construct():构造函数,new对象时自动调用 eg: class Person{ public $name; public $age; function __construct($name,$age){

详解Python中的type()方法的使用

  这篇文章主要介绍了详解Python中的type()方法的使用,是Python入门中的基础知识,需要的朋友可以参考下 type()方法返回传递变量的类型.如果传递变量是字典那么它将返回一个字典类型. 语法 以下是type()方法的语法: ? 1 type(dict) 参数 dict -- 这是字典 返回值 此方法返回传递变量的类型. 例子 下面的例子显示type()方法的使用 ? 1 2 3 4 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age'