delegate.begininvoke

public partial class Async : System.Web.UI.Page
{

    public delegate string MyDelegate();

    protected void Page_Load(object sender, EventArgs e)
    {

        MyDelegate name = GetName;

        var r = name.BeginInvoke(new AsyncCallback(Done), null);

        this.Label1.Text = "111";

    }

    private void Done(IAsyncResult result)
    {
        MyDelegate aa = (MyDelegate)result.AsyncState;

        var s = aa.EndInvoke(result);

        this.Label2.Text = s;
    }

    private string GetName()
    {
        return "111";
    }



}

    为什么result.AsyncState 是null

name.BeginInvoke(new AsyncCallback(Done), null);
因为你传的就是一个null值,所以result.AsyncState 是null。