http://cdlgdxgcjsxy2.blog.163.com/blog/static/16936188720105140195591/

BeginInvoke()方法前部分的参数是用来给调用它的委托对象所代理的那个方法传递参数,最后两个参数中,第一个是用来声明回调函数的方法名,第二个参数@object是 "传递额外的参数 ",因为他本身是Object对象,我们可以传递任何对象。

举个例子:

Code

1class Program
2{
3    static void Main(string[] args)
4    {
5         AsyncTest test = new AsyncTest();
6         SalaryEventHandler dele = test.YearlySalary;
7
8        //异步方法开始执行,看最后一个参数(Object对象) [Note1:],这里我们传递2000(int)
9         dele.BeginInvoke(100000, 15, 100000, GetResultCallBack, 2000);
10
11         Console.ReadLine(); // 让黑屏等待,不会直接关闭..
12     }
13
14    static void GetResultCallBack(IAsyncResult asyncResult)
15    {

16        
17        //获取原始的委托对象
18         AsyncResult result = (AsyncResult)asyncResult;
19         SalaryEventHandler salDel = (SalaryEventHandler)result.AsyncDelegate;
20
21        //调用EndInvoke获取返回值
22         object val = salDel.EndInvoke(asyncResult);
23        //[Note1:],他的作用就是来 "传递额外的参数",因为他本身是Object对象,我们可以传递任何对象
24        //int para = (int)asyncResult.AsyncState;
25         //Console.WriteLine(para); //输出:2000
26     }
27}

handler.Invoke(KBEngineApp.app, new object[]{});
实例,参数

beginInvoke 和 invoke 用法相关推荐

  1. Control的BeginInvoke和Invoke的区别

    本文转载于:http://www.cnblogs.com/c2303191/articles/826571.html Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在 ...

  2. BeginInvoke和Invoke的区别

    Control下的BeginInvoke和Invoke方法 使用Invoke方法时,执行结果是  使用BeginInvoke方法时,结果是:  结论:两种方法都是调用的主线程来执行程序,只是他们执行的 ...

  3. Control.Invoke用法注意事项

    control.invoke主要用于在非Ui线程更新控件,这里要注意的是,当ui线程阻塞时,在非Ui线程中的control.invoke也会阻塞,control.invoke会一直等到Ui线程有空闲了 ...

  4. C#Invoke和BeginInvoke应用详解

    最近,在研究Invoke的使用,但是真的是一头雾水,网上看了很多资料,感觉还是看不懂,因为对于入门级的小白,想像不出Invoke的应用场景,更谈不上如何用了? 1.Invoke到底是什么? Invok ...

  5. C#——invoke和begininvoke 区别

    invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解. 首先说下,invoke和beg ...

  6. (转)Invoke and BeginInvoke

    Invoke and BeginInvoke 在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔:对.net事件的看法. 一.为什么 ...

  7. 千万别在UI线程上调用Control.Invoke和Control.BeginInvoke,因为这些是依然阻塞UI线程的,造成界面的假死...

    .c# Invoke和BeginInvoke 区别 Control.Invoke 方法 (Delegate):在拥有此控件的基础窗口句柄的线程上执行指定的委托. Control.BeginInvoke ...

  8. Control.Invoke和Control.BeginInvoke

    问题的引入 下面有个简单的demo,大家一看代码就知道效果如何示例.我新建一个winform的程序,然后写入了如下代码: using System; using System.Windows.Form ...

  9. 大马哈鱼的C#学习笔记(3):Invoke/BeginInvoke/DynamicInvoke

    Control.Invoke和Control.BeginInvoke Control.Invoke()是同步方法,它会往Control所处的线程(UI主线程)消息队列中加一条消息,请求执行某个委托,在 ...

最新文章

  1. python数据结构与算法:栈
  2. python 表格格式输出_利用python对excel中一列的时间数据更改格式操作
  3. MYSQL专题-绝对实用的MYSQL优化总结
  4. 时间序列数据库的秘密(3)——加载和分布式计算
  5. POJ 3259 Wormholes
  6. hadoop的安装与配置(伪分布式模式安装)
  7. 初学java之常用组件
  8. 面试:Websocket
  9. Python学习笔记之While循环(一)
  10. 计算机专业代码834,这六所高校更改专业课目录,其中不乏985高校,多数改为联考!...
  11. JavaScript十六进制、八进制、二进制与十进制互转
  12. Linux非root用户如何使用80端口启动程序
  13. php在html中if,html里的if注释怎么使用
  14. Java如何发起http请求
  15. 深度学习( Deep Learning )软件资源列表
  16. excel根据空格把数据分列
  17. 网易有数永久免费开放BI能力 普惠让技术更有温度
  18. 姓氏 (C++)简单贪心
  19. java中缓存的原理
  20. Corral the Cows POJ - 3179(二分+前缀和+离散化)

热门文章

  1. 设计一个Windows应用程序,要求如下: 构造一个产品基类。 分别定义家电、日用百货、衣服等派生类,具体要求有不同的特征和行为。 定义一个泛型货架类,约束参数类型为产品
  2. XMLHTTP中setRequestHeader()简单分析
  3. 广电宽带与中国电信固网宽带对比分析
  4. 20年工龄技术大牛的肺腑感言,字字珠玑!
  5. 全球及中国塑料助剂市场需求前景与十四五投资潜力研究报告2022年
  6. Redission 可重入锁(Reentrant Lock)公平锁(Fair Lock)
  7. 计算机风扇维修,一种维修的计算机用散热风扇制造技术
  8. PA3D-基于姿态的3D视频行为识别网络
  9. 计算机cmp代表什么意思,CMP的意思……
  10. 马云幸福,与情人节无关