码迷,mamicode.com
首页 > Windows程序 > 详细

读书笔记之C# delegate

时间:2015-11-03 19:08:30      阅读:244      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!