我正在编写一个FTP客户端库。我的get函数应该采用以下参数:(Server IP, remotefilename, clientfilename, Applications_callback_function)
我编写了库来执行get函数而没有Applications_callback_function
参数。
期望是使用Applications_callback_function
参数编写get API,并在文件传输完成后调用带有结果的回调函数,并将结果放入EventArgs
。
我怎样才能在C#中做到这一点?
答案 0 :(得分:2)
您可以将委托传递给get
方法。试试这个:
function Get(string ServerIP, string, remotefilename, string clientfilename, Action<YourResponseType> Applications_callback_function)
{
// your logic...
Applications_callback_function(data_from_request);
}
或者如果响应不是单一类型:
function Get<T>(string ServerIP, string remotefilename, string clientfilename, Action<T> Applications_callback_function)
{
// your logic...
Applications_callback_function(data_from_request);
}
// caller...
Get<ResponseType>("127.0.0.1", "foo.txt", "bar.txt", myHandler);
function myHandler(ResponseType data)
{
// handle response...
}