C#中的扩展方法

2011年4月26日 分类: C#, 未分类

扩展方法让大家很容易的向现有类型中添加方法(不破坏源类的内容)。

写法,看代码:

class Program
{
    static void Main(string[] args)
    {
        Human human = new Human();
        human.Name = "张三";
        human.Age = 18;

        human.GetName();
        human.GetAge("岁");
    }
}

public class Human
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static class HumanExtension
{
    /// <summary>
    /// 扩展Human类的方法GetName
    /// </summary>
    /// <param name="human"></param>
    public static void GetName(this Human human)
    {
        Console.WriteLine("姓名:" + human.Name);
    }
    /// <summary>
    /// 扩展Human类的方法GetAge
    /// </summary>
    /// <param name="human"></param>
    /// <param name="unit">单位</param>
    public static void GetAge(this Human human, string unit)
    {
        Console.WriteLine("年龄:" + human.Age + unit);
    }
}

很容易吧,需要注意的是,扩展方法必须是在非泛型静态类中定义,并且扩展方法必须是静态的,方法的第一个参数必须是this [类型]。使用扩展方法,可以很容易的为我们已有的类添加方法,如给String类添加个ToSource方法等。

原创文章,转载请注明: 转载自.NET开发者

本文链接地址: C#中的扩展方法

文章的脚注信息由WordPress的wp-posturl插件自动生成

Related posts:

  1. HttpWebRequest方式下载文件
  2. C#使用SharpZipLib类库压缩、解压缩单个文件
  3. C#中的延时加载Lazy(Of T)
  4. 用C#得到访问IP出口的网卡
  5. .net 4.0新特性之ExpandoObject
标签:
目前还没有任何评论.

Leave a Comment