2013-03-20 59 views
0

任務將System :: Func的回調類型傳遞給非託管函數。如何爲GetDelegateForFunctionPointer系統指定調用的類型:Func?

//c++ clr 

     class Unmanagement 
     { 
      void Test() 
      { 
      Marshal::GetDelegateForFunctionPointer(callback,);//<----how to specify the type? 
      } 
      IntPtr callback; 
     } 

     bool Init(Func<IntPtr, Int32, Int32,Int32>^ callback) 
     { 
      Unmanagement a=new Unmanagement; 
      IntPtr cb=Marshal::GetFunctionPointerForDelegate(callback); 
      a->callback=cb; 
     } 

回答

1

Func<IntPtr, Int32, Int32, Int32>::typeid

+0

在C++中沒有這樣的調用(:: typeid)(; – Mixer 2013-03-20 07:48:56

+0

混音器,對不起,但是什麼?你應該得到它的類型http://msdn.microsoft.com/ru-ru/library/system.runtime.interopservices .marshal.getdelegateforfunctionpointer.aspx和msdn說,typeid靜態字段可以使用http://msdn.microsoft.com/ru-ru/library/system.type.aspx(查看C++示例)。 – ForEveR 2013-03-20 07:51:04

+0

我道歉 Visual studio在會員列表中沒有顯示出它。 寫下了手,一切都正常 – Mixer 2013-03-20 07:52:46

相關問題