簡體   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