zoukankan      html  css  js  c++  java
  • 异步无阻塞委托 学习1

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Remoting.Messaging;
    using System.Threading;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    namespace WebApplication21
    {
    public partial class WebForm1 : System.Web.UI.Page
    {
    public delegate string testHandler();

    public delegate void aa(object sender, SelectEventArgs e);

    public event aa ea;

    protected void Page_Load(object sender, EventArgs e)
    {
    ea += WebForm1_ea;
    if (Request["_method"] == "search")
    {

    testHandler t = test;

    IAsyncResult result= t.BeginInvoke(callback, t);

    }

    }

    private void WebForm1_ea(object sender, SelectEventArgs e)
    {

    string r = e.DataSource;
    }

    private void callback(IAsyncResult tag)
    {
    AsyncResult result = (AsyncResult)tag;

    // 取得委托
    testHandler del = (testHandler)result.AsyncDelegate;

    // 取得委托后,我们需要在其上执行EndInvoke。
    // 这样就可以取得函数中的执行结果。
    string strReturnValue = del.EndInvoke(result);
    var onAfterSelect = this.ea;
    onAfterSelect?.Invoke(this, new SelectEventArgs(strReturnValue));
    }

    public string test( )
    {
    return "tt";
    }
    }
    public class SelectEventArgs : EventArgs
    {
    private string _dataSource = null;
    public string DataSource
    {
    get { return _dataSource; }
    }

    public SelectEventArgs(String data)
    {
    _dataSource = data;
    }
    }
    }

  • 相关阅读:
    牛客网 二叉树的镜像 JAVA
    牛客网 反转链表 JAVA
    牛客网 调整数组顺序使奇数位于偶数前面 JAVA
    Integer to Roman LeetCode Java
    Valid Number leetcode java
    Longest Common Prefix
    Wildcard Matching leetcode java
    Regular Expression Matching
    Longest Palindromic Substring
    Add Binary LeetCode Java
  • 原文地址:https://www.cnblogs.com/kexb/p/4960439.html
Copyright © 2011-2022 走看看