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

推荐订阅源

Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
I
InfoQ
B
Blog
WordPress大学
WordPress大学
Jina AI
Jina AI
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
Google Developers Blog
C
Check Point Blog
月光博客
月光博客
L
LangChain Blog
GbyAI
GbyAI

博客园 - 言午

Nopcommerce 二次开发2 Admin Nopcommerce 二次开发1 基础 Nopcommerce 二次开发2 WEB Nopcommerce 二次开发0 sqlce中不支持sp_rename修改表名 C#读取Excel遇到无法读取的解决方法 狼奔代码生成器 银行账户类 累 interface 抽象类 抽象方法 Message 类的继承 多态(虚方法) 事件event 索引! 第五周作业 第四周作业 考试! 线程安全 二 线程安全 一
委托 代理
言午 · 2012-04-11 · via 博客园 - 言午

委托=代理

以前,我们调用方汉,直接 call method

现在,我们使用代理,      call ->delegate -> method

有事,找代理。

1  定义一“种”委托

delegate void MyDelegate(string n);

解释一下,短短的一行代码,信息量巨大。

有一个委托,名叫MyDelegate  ,它能代理形如 void XXX(string)的方法。

2 准备两个方法,过分简单, 不解释

       

static void SayHello(string name )
        {
            Console.WriteLine("Hello , {0}",name);
        }
        static void SayBye(string name)
        {
            Console.WriteLine("Bye , {0}", name);
        }

3  使用委托

下面的代码写在main方法中。

           MyDelegate dl;
            dl = SayHello;
            dl("tom");
            dl += SayBye;
            dl("jack");

 注意 += 是多播委托(一个委托,可以代理多个方法,-=同样有效)