したがって、次のイベントを持つ C# クラスがあります。
public class CSClient
{
public delegate void OnMessageHandler(Object sender, EventArgs e);
public event OnMessageHandler OnOptionsEvent;
}
次に、OnOptionsEvent にサブスクライブしたい C++/CLI クラスがあります。
私はこのようなことを試しました:
void CSClientWrapper::Start()
{
GCHandle h = GCHandle::FromIntPtr(IntPtr(_impl));
CSClient^ obj = safe_cast<CSClient^>(h.Target);
__hook(&CSClient::OnOptionsEvent, obj, &CSClientWrapper::OnOptions);
}
void CSClientWrapper::OnOptions(Object^ sender, EventArgs^ args)
{
}
エラー C2039: 'add_OnOptionsEvent': 'CSClient' のメンバーではありません
エラー C2750: 'CSClient::OnMessageHandler': 参照型で 'new' を使用できません。代わりに「gcnew」を使用してください
私は C++CLI にまったく慣れていないので、本当に基本的なことが欠けていると思います。