C#扩展方法

定义和调用扩展方法

  1. 定义一个静态以包含扩展方法,该类必须对客户端代码可见。

  2. 将该扩展方法实现为静态方法,并使其至少具有与包含类相同的可见性。

  3. 该方法的第一个参数指定方法所操作的类型;该参数必须以 this 修饰符开头。

  4. 在调用代码中,添加一条 using 指令以指定包含扩展方法类的命名空间

  5. 按照与调用类型上的实例方法一样的方式调用扩展方法。

    请注意,第一个参数不是由调用代码指定的,因为它表示正应用运算符的类型,并且编译器已经知道对象的类型。 您只需通过 n 为这两个形参提供实参。 

(以上引自MSDN)

 

下面我们就先来实现和调用自定义扩展方法(以String类为例)

首先先创建一个静态类

定义三个静态方法AddQuoted AddToLower和AddText

    static class StringHelper
    {

        //增加方括号
        public static string AddQuoted(this string s)
        {
            return "[" + s + "]";
        }

 

        //转为小写

        public static string AddToLower(this string s)
        {
            return s.ToLower();
        }

     

        //追加字符

        public static string AddText(this string s,string text)
        {
            return s + text;
        }
    }

 

    调用的时候就可以连续点了 代码如下:

    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            Console.WriteLine(s.AddQuoted().ToLower().AddText("123"));


            Console.ReadKey();
        }
    }

    输入:MicroSoft

    输出:[microsoft]123

    我们是先用了AddQuoted得[MicroSoft]   (加上了方括号)

    接着用了ToLower得[microsoft]               (全部变小写了)

    最后用了AddText得[microsoft]123          (后面追加了我们传的参数123)

    

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值