繁体   English   中英

如何将C#方法作为回调传递给CLI / C ++函数?

[英]How to pass C# method as a callback to CLI/C++ function?

我在C ++ / CLI中有这样的方法:

void Foo(OnEngineCloseCallback callback);

有这样的回调定义:

typedef void (*OnEngineCloseCallback)( int, String ^ errorMessage);

C ++ / CLI编译。 C#代码如下所示:

static void onCallback( int code, String errorMessage)
{
    System.Diagnostics.Debug.WriteLine(errorMessage);
}

和电话:

Foo(onCallback); // error

“Foo不受语言支持”(错误:CS0570)。

那么如何将我的回调传递给CLI / C ++呢?

如果你们两个都不打算发表答案,我会这样做,因为我不喜欢没有答案的回答问题......

您必须声明一个公共委托,而不是一个函数指针。 基本的how-to文章就在这里。 作者:Hans Passant

如何:定义和使用代理(C ++ / CLI)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM