深入浅析C#委托
2009-07-24 09:18
211 查看
委托:
什么也不说,先看段小程序:
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace MyDelegate
6 {
7 class Program
8 {
9 static void ZsEat(string food)
10 {
11 Console.WriteLine("张三吃"+food);
12 }
13
14 static void Main(string[] args)
15 {
16 ZsEat("西瓜");
17 Console.ReadKey();
18 }
19 }
20 }
21
输出:张三吃西瓜
这个程序对任何的初学者来说都不难吧?
接下来用委托:
Code
using System;
using System.Collections.Generic;
using System.Text;
delegate void EatDelegate(string food); //声明一个委托,需要注意的是此委托的返回值,参数类型,参数的数目需和将代理的方法(本例:ZsEat)一致。
namespace MyDelegate
{
class Program
{
static void ZsEat(string food)
{
Console.WriteLine("张三吃" + food);
}
static void Main(string[] args)
{
//ZsEat("西瓜");
EatDelegate zs = new EatDelegate(ZsEat); //将方法和委托关联起来
zs("西瓜");
Console.ReadKey();
}
}
}
注:实例化委托对象,会造成系统上资源的浪费,这样我们可以使用匿名方法。
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 delegate void EatDelegate(string food); namespace MyDelegate
6 {
7 class Program
8 {
9 static void Main(string[] args)
10 {
11 EatDelegate chain = null;
12 chain += delegate(string food) { Console.WriteLine("张三吃" + food); };
13 chain("西瓜");
14 Console.ReadKey();
15 }
16 }
17 }
18
其实委托的学习还远远没有结束,我会继续整理我的学习笔记,和大家分享我学习委托的历程。
欢迎大家给点好的建议!
什么也不说,先看段小程序:
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace MyDelegate
6 {
7 class Program
8 {
9 static void ZsEat(string food)
10 {
11 Console.WriteLine("张三吃"+food);
12 }
13
14 static void Main(string[] args)
15 {
16 ZsEat("西瓜");
17 Console.ReadKey();
18 }
19 }
20 }
21
输出:张三吃西瓜
这个程序对任何的初学者来说都不难吧?
接下来用委托:
Code
using System;
using System.Collections.Generic;
using System.Text;
delegate void EatDelegate(string food); //声明一个委托,需要注意的是此委托的返回值,参数类型,参数的数目需和将代理的方法(本例:ZsEat)一致。
namespace MyDelegate
{
class Program
{
static void ZsEat(string food)
{
Console.WriteLine("张三吃" + food);
}
static void Main(string[] args)
{
//ZsEat("西瓜");
EatDelegate zs = new EatDelegate(ZsEat); //将方法和委托关联起来
zs("西瓜");
Console.ReadKey();
}
}
}
注:实例化委托对象,会造成系统上资源的浪费,这样我们可以使用匿名方法。
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 delegate void EatDelegate(string food); namespace MyDelegate
6 {
7 class Program
8 {
9 static void Main(string[] args)
10 {
11 EatDelegate chain = null;
12 chain += delegate(string food) { Console.WriteLine("张三吃" + food); };
13 chain("西瓜");
14 Console.ReadKey();
15 }
16 }
17 }
18
其实委托的学习还远远没有结束,我会继续整理我的学习笔记,和大家分享我学习委托的历程。
欢迎大家给点好的建议!
相关文章推荐
- 深入浅析Android手机卫士保存密码时进行md5加密
- 基于C#委托的深入分析
- 深入浅析JavaScript中数据共享和数据传递
- 基于C#委托的深入分析
- 深入浅析mysql引擎
- 数据库性能优化深入浅析
- 深入浅析java中finally的用法
- 深入浅析Python的类
- 深入浅析angular和vue还有jquery的区别
- 深入浅析Java 循环中标签的作用
- 深入浅析C++的new和delete
- 深入浅析Mybatis的缺陷问题
- 深入浅析js中的正则表达式
- 深入浅析RC2加密算法在C#的应用
- 深入浅析 C++ 调用 Python 模块
- 深入浅析java web log4j 配置及在web项目中配置Log4j的技巧
- 深入浅析C#中的var和dynamic
- TCP和UDP传输的深入浅析,MSN和QQ文件传输速度解析
- 深入浅析JavaScript中prototype和proto的关系
- 深入浅析SQL封装、多态与重载