代码改变世界

随笔分类 -  Delegate And Event

Lambda的应用(转载)

2010-12-14 22:26 by 爱研究源码的javaer, 256 阅读, 收藏,
摘要: /// summary /// 获取配置文件中DappSettings节点下指定索引键的Int类型的的值 /// /summary /// param name="key"索引键/param /// param name="defaultValue"默认值/param /// returnsInt/returns private static int getInt32(string key, int? defaultValue) { return getValueint(key, (v, pv) = int.TryParse(v, out pv), def 阅读全文

委托之窗体传递数据

2010-03-02 14:41 by 爱研究源码的javaer, 332 阅读, 收藏,
摘要: 在winForm应用程序中,窗口间数据的传递是最多的应用之一,尤其是在管理软件当中。窗口的数据传递,有多种方式,在这篇随笔中主要是阐述一下利用委托如何来传递数据。在本实例程序中,有两个窗体:一个主窗体FrmMain,接收数据;一个子窗体FrmChild,传出数据,UI如下: 在主窗体中,[设置]按钮,弹出子窗体,在文本框中输入相应的值后,点击[确认]返回到主窗体,同时返回数据至主窗体。具体代码实... 阅读全文

委托之异步学习(转载)

2010-03-02 14:06 by 爱研究源码的javaer, 218 阅读, 收藏,
摘要: 在 使用BackgroundWorker组件 一文中,阐述了在Winform编程中,使用BackgroundWorker组件实现异步调用,本文主要讲述利用委托实现异步。以下描述摘抄于MSDN:异步委托提供以异步方式调用同步方法的能力。当同步调用委托时,Invoke()方法直接对当前线程调用目标方法;当异步调用委托时,CLR将对请求进行排队并立即返回到调用方,将对来自线程池的线程调用该目标方法,提交... 阅读全文

Delegate学习笔记之事件订阅

2010-02-27 13:36 by 爱研究源码的javaer, 241 阅读, 收藏,
摘要: 限制只允许一个客户端注册。此时怎么做呢?我们可以向下面这样,将事件声明为private的,然后提供两个方法来进行注册和取消注册: // 定义事件发布者public class Publishser { private event GeneralEventHandler NumberChanged; // 声明一个私有事件 // 注册事件 public void Register(GeneralEv... 阅读全文

Delegate学习之使用委托进行异步编程

2010-02-26 22:30 by 爱研究源码的javaer, 275 阅读, 收藏,
摘要: 异步委托提供以异步方式调用同步方法的能力。当同步调用一个委托时,“Invoke”方法直接对当前线程调用目标方法。如果编译器支持异步委托,则它将生成“Invoke”方法以及“BeginInvoke”和“EndInvoke”方法。如果调用“BeginInvoke”方法,则公共语言运行... 阅读全文

Delegate学习笔记

2010-02-25 22:19 by 爱研究源码的javaer, 170 阅读, 收藏,
摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceDelegate{//热水器publicclassHeate... 阅读全文

delegate学习笔记1

2010-02-06 15:43 by 爱研究源码的javaer, 228 阅读, 收藏,
摘要: C# 中的委托类似于 C 或 C++ 中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与 C 或 C++ 中的函数指针不同,委托是面向对象、类型安全的,并且是安全的。委托声明定义一种类型,它用一组特定的参数以及返回类型封装方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象同时封装一个... 阅读全文