我有一个本机类,它需要构造函数中的函数指针。我试过搜索论坛,但找不到我想要的东西。
本机类看起来像这样:
class NativeClass{
NativeClass(std::string(*callback)(std::string args)){
//native code goes here
}
};
传递代表的最佳方式是什么?任何帮助将不胜感激。
答案 0 :(得分:3)
您需要使用Marshal.GetFunctionPointerForDelegate()
来实现此目标。
请注意,这将返回一个使用stdcall
调用约定的函数指针。您可以使用委托声明中的UnmanagedFunctionPointer
属性指定不同的调用约定。