【发布时间】:2014-04-15 09:01:01
【问题描述】:
对不起,我有一个具体的问题。是的,这与为事件设置自定义事件处理程序有关。是的,这类问题可能已经被问过很多次了,但这里我只限于 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() 的整个正文都失效了。
【问题讨论】:
标签: c# c++-cli winscp winscp-net eventhandler