在c++中这是样调用的。JBNV_SetStreamCallBack(m_hServer,JBNVRecvStreamDataCallback,(DWORD)this);
请问在C#中怎么调用呢??

解决方案 »

  1.   

    看你如何实现了,this是一个类型,如果c++中需要的是某个类型,你可以声明对应类型,只要内存对上即可。这个如果需要的是指针,你就声明为你这个类型就行了。
      

  2.   

    可以定义成 long
    或者用unsafe定义为 void *
      

  3.   

    在C#中可以使用delegate(委托)来进行传值,样例:
    namespace CallBackFunction 

        class Program 
        { 
            static void Main(string[] args) 
            { 
                Program prog = new Program();//在静态函数Main中调用非静态方法时,必须先实例化该类对象,方可调用GetSum方法 
                SumClass sc = new SumClass();//实例化SumClass类 
                int result=sc.SumAll(prog.GetSum); 
                Console.WriteLine(result.ToString()); 
            }         private int GetSum(int a, int b) 
            { 
                return (a + b); 
            } 
        }     class SumClass 
        { 
            public delegate int Sum(int num1, int num2); 
            public int SumAll(Sum sum) 
            { 
                //可以进行些别的操作 
                return sum(1, 2);//调用传入函数的一个引用 
            } 
            //可以封装更多的业务逻辑方法 
        } 

    如果还有疑问可以访问:http://www.360doc.com/content/11/0306/22/5391076_98760717.shtml