gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:45:45 24 4
gpt4 key购买 nike

我在 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++?

最佳答案

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

You must declare a public delegate, not a function pointer. Basic how-to article is here. by Hans Passant

How to: Define and Use Delegates (C++/CLI)

关于c# - 如何将 C# 方法作为回调传递给 CLI/C++ 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26547215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com