我有一个 native 类,它需要在构造函数中使用函数指针。我尝试搜索论坛,但找不到我想要的内容。
native 类如下所示:
class NativeClass{
NativeClass(std::string(*callback)(std::string args)){
//native code goes here
}
};
传递委托(delegate)的最佳方式是什么?任何帮助将不胜感激。
最佳答案
您需要使用Marshal.GetFunctionPointerForDelegate()
来实现这一目标。
请注意,这将返回一个使用 stdcall
调用约定的函数指针。您可以通过在委托(delegate)声明中使用 UnmanagedFunctionPointer
属性来指定不同的调用约定。
关于c++ - 将 Visual C++ 委托(delegate)传递给 native C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166752/