C# HttpWebRequest BeginGetResponse操作委托lambda表达式作为参数

C# HttpWebRequest BeginGetResponse操作委托lambda表达式作为参数,c#,asynchronous,delegates,functional-programming,lambda,C#,Asynchronous,Delegates,Functional Programming,Lambda,我有以下代码: protected static string MakeGetRequest(string url, Action<IAsyncResult> callback) { var request = (HttpWebRequest)HttpWebRequest.Create(new Uri(url)); request.BeginGetResponse(callback, null); } 受

我有以下代码:

   protected static string MakeGetRequest(string url, Action<IAsyncResult> callback)
    {
        var request = (HttpWebRequest)HttpWebRequest.Create(new Uri(url));
        request.BeginGetResponse(callback, null);            
    }
受保护的静态字符串MakeGetRequest(字符串url、操作回调)
{
var request=(HttpWebRequest)HttpWebRequest.Create(新Uri(url));
request.BeginGetResponse(回调,null);
}
这将无法编译,我在BeginGetResponse行上得到一个错误:

无法从“System.Action”转换为“System.AsyncCallback”

我想传入一个函数作为我的异步回调


请告知。

您需要提供类型为
AsyncCallback
的对象。请尝试以下方法:

request.BeginGetResponse(new AsyncCallback(callback), null);