我如何在c#上为一个包装的c++方法写一个签名,该方法的参数中有一个指向函数的指针

本文关键字:一个 方法 参数 指针 函数 有一个 c++ 包装 | 更新日期: 2023-09-27 18:08:25

我正在为dll编写包装器。dll有一个签名类似于以下的方法:

unsigned long aMethod(void *anyParameter, 
void (*anotherMethod)(const char *,  void *))

我在谷歌上搜索了一个教程,让我了解如何在c#上编写签名,以便框架可以进行编组过程。

怎么写?你知道这方面的教程、书籍或文档吗?

我如何在c#上为一个包装的c++方法写一个签名,该方法的参数中有一个指向函数的指针

[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
delegate void AnotherMethodDelegate(string s, IntPtr anyParameter);
[DllImport("dllname",
           CallingConvention = CallingConvention.Cdecl,
           CharSet = CharSet.Ansi)]
uint aMethod(IntPtr anyParameter, AnotherMethodDelegate anotherMethod);