首页 > 代码库 > C# 委托,Lambda表达式,事件
C# 委托,Lambda表达式,事件
本文章参考sikiC#高级篇,转载请注明出处。
什么是委托
如果我们要把方法当做参数来传递的话,就要用到委托。简单来说委托是一个类型,这个类型可以赋值一个方法的引用。
声明委托与使用
声明委托有四种方式。一种是原生的,另外三种是C#为了方便给我们封装好的。
四种声明方式分别为delegate, Action, Func,
在C#中使用一个类分为两个阶段,首先定义这个类,告诉编译器这个类由什么字段和方法组成,然后使用这个类实例化对象。在我们使用委托的时候,也需要经过这两个阶段,首先定义委托,告诉编译器我们这个委托可以指向哪些类型,然后,创建该委托的实例。
delegate定义和使用方式如下:
delegate void IntMethodInvoker(int x); static void Test1(int x) { Console.WriteLine("int值为:" + x); } static void Test2(string s) { Console.WriteLine("string值为:" + s); } static void Main() { IntMethodInvoker method = Test1; method(); // 以下操作是违法的 // IntMethodInvoker me = Test2; }
这个委托只能指向一个返回值为void有一个int参数的方法,其他方法是无法指向的。(未完待续)
C# 委托,Lambda表达式,事件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。