您的位置:首页 > 编程语言 > C#

c#编程指南(五) 扩展方法(Extension Method)

2010-08-17 10:29 260 查看
C# 3.0就引入的新特性,扩展方法可以很大的增加你代码的优美度,扩展方法提供你扩展.NET Framewoke类的扩展途径,书写和规则也简单的要命。

编写扩展方法有下面几个要求:

第一:扩展方法所在的类必须是全局的,不能是内部嵌套类。

第二:扩展方法的类是静态类。

第三:扩展方法是静态方法。

第四:扩展方法的第一个参数的数据类型必须是要扩展类型。

第五:扩展方法的第一个参数使用this关键字。

下面是一段很简单的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ExtensionMethod
{
public static class TestClass
{
public static void Print(this int i)
{
Console.WriteLine(i);
}

public static int Times(this int i)
{
return i * 2;
}

public static int Add(this int i, int d)
{
return i + d;
}
}

class Program
{
static void Main(string[] args)
{
int number = 4;
number.Print();
Console.WriteLine(number.Times());
Console.WriteLine(number.Add(5));
}
}
}


代码很简单,扩展的是int类型。

第一个是定义了一个Print方法,是没有参数没有返回值的扩展方法。

第二个是定义了一个带返回值无参数的扩展方法。

第三个是定义了一个有返回值有参数的扩展方法。

示例代码:下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: