gre*_*man 3 c# c++-cli callback
我在C++/CLI中有这样的方法:
void Foo(OnEngineCloseCallback callback);
Run Code Online (Sandbox Code Playgroud)
有这样的回调定义:
typedef void (*OnEngineCloseCallback)( int, String ^ errorMessage);
Run Code Online (Sandbox Code Playgroud)
C++/CLI编译.C#代码如下所示:
static void onCallback( int code, String errorMessage)
{
System.Diagnostics.Debug.WriteLine(errorMessage);
}
Run Code Online (Sandbox Code Playgroud)
和电话:
Foo(onCallback); // error
Run Code Online (Sandbox Code Playgroud)
"Foo不受语言支持"(错误:CS0570).
那么如何将我的回调传递给CLI/C++呢?
如果你们两个都不打算发表答案,我会这样做,因为我不喜欢没有答案的回答问题......
您必须声明一个公共委托,而不是一个函数指针.基本的how-to文章就在这里.作者:Hans Passant
| 归档时间: |
|
| 查看次数: |
3118 次 |
| 最近记录: |