对不起,我有一个具体的问题。是的,这与为事件设置自定义事件处理程序有关。是的,这类问题可能已经被问过很多次了,但这里我只限于 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()
变得无效。