惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
I
InfoQ
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
云风的 BLOG
云风的 BLOG
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
WordPress大学
WordPress大学
B
Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
博客园 - 聂微东
Jina AI
Jina AI

博客园 - huadust

msdn 网络编程 注册表操作 DateTime各种用法 [转]将dll汇入exe 用DataTable构建树 Lock Review String Review Class Review DataTable opertion Drag DataGridView Data To TreeView 2009_01_15_星期三 2009_01_02_星期五 2008_12_31_星期三 2008_12_24_星期三 2008_12_20_星期六 2008_12_17_星期三 2008_12_06_星期六 2008_12_04_星期四
委托用法
huadust · 2011-04-07 · via 博客园 - huadust

一、委托

callback 回调函数

声明委托:(与声明类相似)

public delegate string MyDelegate(string sInput);

使用委托:

1. 

MyDelegate myDelegateCase = new MyDelegate(InvokeMethod);

private string InvokeMethod(string sInput)

{

   return sInput);

}

2. 委托推断

MyDelegate myDelegateCase = InvokeMethod;

3. 匿名方法

MyDelegate myDelegateCase = delegate(string sInput){ return sInput; };

多播委托

MyDelegate myDelegateCase = InvokeMethod1;

myDelegateCase += InvokeMethod2;

委托总是带有1个参数的构造函数,这个参数就是委托引用的方法。

二、事件

EventHandler 1 总是返回void,2 参数必须是object、EventArg

声明委托和事件:

public delegate void ActionEventHandler(object sender, ActionCancelEventArgs ev);

public static event ActionEventHandler Action;

定义引发事件:

protected void OnAction(object sender, ActionCancelEventArgs ev)

{

    if (Action != null)

    {

        Action(sender, ev);

    }

}

Class.Action += new ActionEventHandler(MainForm_Action);

private void MainForm_Action(object sender, ActionCancelEventArgs e)

{

}

最后调用OnAction引发事件