C#3.0笔记(三)var关键字与扩展方法
2009-05-18 08:28:03 来源:WEB开发网要注意的一点,扩展方法在this后面紧接着的是要扩展的类型。扩展方法除了第一个方法外,其他的参数就跟定义一般的方法一样。
推荐定义的方式以及一个完整的例子
在上面的例子中我们将方法定义在一个名为MyExtensions类里面,但是我们需要注意的一点就是所在的命名空间,如果我们的命名空间不是System那么我们要让object类型使用到此方法,就需要每次导入命名空间。这显然不是一种好的方式,所以一般定义扩展方法时建议将所在类的放在目标的类型命名空间下。下面我们看一个完整的例子:
HenllyeeExtensions.cs:
namespace System
{
public static class HenllyeeExtensions
{
public static void Foo(this int i, string Msg)
{
Console.WriteLine("{0} called Foo() say '{1}'", i, Msg);
}
}
}
调用的示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
int i = 0;
i.Foo("Hello,Henllyee!");
Console.Read();
}
}
}
结果:
出处: http://henllyee.cnblogs.com/
系列文章:
C#3.0笔记(一)预备知识之Delegate
C#3.0笔记(二)预备知识之委托与事件
更多精彩
赞助商链接