偶遇扩展方法 this

昨天在公司的代码中看到一个有意思的东西,就是方法的参数前加上一个this,我以前没有见过,当然也没有用过,出于好奇,就打开IE浏览器进行了百度行动,这是我的一贯作风,有困难找百度,最后的百度的结果是,这是扩展方法,很神奇的东西,我现在是一个小小的菜鸟,对这个不熟悉很自然,希望各位大虾们不要笑话我,在这里我是想自我总结,希望和我一样没见过的小鸟们一起学习,这个扩展方法挺有意思的,在网上看的云里雾里的,没有一个文章能给我讲清楚,于是乎,还是通过交流学习吧,我去想我的组长请教了一下,原来这个东西是所得寺内,哈哈,下面我简单的介绍我所学的东西。

 

1、扩展方法是给现有类型添加一个方法;

2、扩展方法是通过 指定关键字this修饰方法的第一个参数;

3、扩展方法必须声明在静态类中;

4、扩展方法要通用对象来调用;

5、扩展方法可以带参数。

 

还是看看代码吧:

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ThisDemo

{

    class Program

    {

        static void Main(string[] args)

        {

            Operation op = new Operation();

            Person p = new Person();

            Console.WriteLine("普通实例方法拿到的名字:"+op.GetName(p));

            Console.WriteLine("通过扩展方法拿到的年龄:"+p.GetAge().ToString());

            Console.Read();

        }

    }

 

    public class Person

    {

        public string Name = "我的名字";

        public int Age = 22;

    }

 

    public class Operation

    {

        public string GetName(Person p)

        {

            return p.Name;

        }

    }

 

    public static class Helper

    {

        public static int GetAge(this Person p)

        {

            return p.Age;

        }

    }

}

 

以上代码不想多解释,我看到人家介绍的比我好,我不想说得太多,如果想进一步了解,我给大家提供一个网址,大家可以学习一下。

 

http://www.cnblogs.com/ldp615/archive/2009/08/07/1541404.html

转载于:https://www.cnblogs.com/CoolsBook/archive/2011/08/04/2126961.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值