Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/11 9:21:09
C#教程:C#2.0 新特性 匿名方法

C#教程:C#2.0 新特性 匿名方法

匿名方法

在C# 2.0之前,声明委托的惟一方法是使用命名方法。C# 2.0引入了匿名方法。如果使用匿名方法,则不必创建单独的方法,因此减少了实例化委托所需的编码系统开销。即以前是委托调用一个方法,现在是直接将方法的代码块作为参数传给委托而不必调用方法,即匿名方法。例如:

本教程来自http://www.isstudy.com

// 定义一个委托

delegate void Del(int y);

//委托调用匿名方法

Del d = delegate(int h) { /* 直接写委托所调用的方法的代码*/ };

示例

匿名方法的使用

下面的示例代码演示了委托Writer调用匿名方法。

// 声明一个委托

delegate void Writer(string s);

class TestClass

{

static void Main()

{

// 委托类调用匿名方法

Writer w = delegate(string j)

{

System.Console.WriteLine(j);

};

// 调用匿名方法并显示匿名方法被调用

w("匿名方法被调用。");

// 委托关联命名方法 " NamedMethod ",注意在这里多了实例化委托

w = new Writer(TestClass. NamedMethod);

// 显示命名方法被调用

w("命名方法被调用");

}

// 委托所调用的命名方法

static void NamedMethod(string k)

{

System.Console.WriteLine(k);

}

}

输出结果:

匿名方法被调用。

命名方法被调用。

完整程序代码如下:

★★★★★主程序文件完整程序代码★★★★★:

本教程来自http://www.isstudy.com

using System;

using System.Collections.Generic;

using System.Text;

namespace _2_09

{

delegate void Writer(string s);

class TestClass

{

static void Main(string[] args)

{

// 委托类调用匿名方法:

Writer w = delegate(string j)

{

System.Console.WriteLine(j);

};

// 调用匿名方法并显示匿名方法被调用:

w("匿名方法被调用。");

// 委托关联命名方法 " NamedMethod ":,注意在这里多了实例化委托

w = new Writer(TestClass.NamedMethod);

// 显示命名方法被调用

w("命名方法被调用。。");

}

// 委托所调用的命名方法:

static void NamedMethod(string k)

{

System.Console.WriteLine(k);

}

}

}




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759