首页 > Windows开发 > 详细

读书笔记之C# delegate

时间:2015-11-03 19:07:29      阅读:327      评论:0      收藏:0      [点我收藏+]

c#代理的使用主要在:需要将一个方法当做参数传递到另一个方法时。

比如启动一个线程执行任务,而这个线程要执行的方法可以通过代理传递过来。

代理包括一个方法或者多个方法的地址和C++的函数指针很相似,但它是类型安全的。

1.声明代理

delegate void IntMethodInvoker(int x);

这个代理可以引用返回值类型为空,有一个参数的所有方法,很重要的一点需要知道delegate是类型安全的。

delegate double TwoLongsOp(long first, long second);

有两个参数返回值为double的代理。

delegate string GetAString();

没有参数返回值为string的代理。

public delegate string GetAString();

还可以说明代理的访问权限。

2.使用代理

使用代理必须先要实例化一个代理

pri v a te delegate string GetAString();
static void Main()
{
int x = 40;
GetAString firstStringMethod = new GetAString(x.ToString); //实例化一个代理,并把该代理指向x.tostring();
Console.WriteLine("String is {0}", firstStringMethod()); //firstStringMethod()成为x.tostring()代表(代理)
// With firstStringMethod initialized to x.ToString(),
// the above statement is equivalent to saying
// Console.WriteLine("String is {0}", x.ToString());
}

 未完待续。。。

读书笔记之C# delegate

原文:http://www.cnblogs.com/tianmochou/p/4933874.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!