申し訳ありませんが、少し具体的な質問があります。はい、これはカスタム イベント ハンドラをイベントに設定することに関連しています。はい、この種の質問はすでに何度も出されているかもしれませんが、ここでは WinSCP の状況に限定する必要があります。
Session.SynchronizeDirectories
メソッドの例を参照してください:
http://winscp.net/eng/docs/library_session_synchronizedirectories
C# の例を C++/CLI に変換していますが、問題が発生しました。
C# では、次のように設定するのは簡単です。
Session session = new Session();
session.FileTransferred += FileTransferred;
...
private static void FileTransferred(object sender, TransferEventArgs e)
{
....
}
C++/CLI では、次のことを行います。
WinSCP::Session ^ session = gcnew WinSCP::Session();
session->FileTransferred += gcnew EventHandler(FileTransferred);
...
static void FileTransferred(System::Object ^sender, WinSCP::TransferEventsArgs ^e)
{
....
}
しかし、私はこのエラーが発生します:
関数 FileTransferred() はデリゲート型 'void (System::Object ^, System::EventArgs ^)' と一致しません。
に変更してみるFileTransferred(System::Object ^sender, EventArgs ^e)
が、 の全身FileTransferred()
が無効になってしまう。