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

C# 委托,Lambda表达式,事件

时间:2017-03-25 23:51:31      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:lin   参考   对象   invoke   logs   方法   实例化   console   int   

本文章参考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表达式,事件

标签:lin   参考   对象   invoke   logs   方法   实例化   console   int   

原文地址:http://www.cnblogs.com/SHOR/p/6618846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!