扩展方法与链式编程

如:string s; s.ToUper().ToString();这个就是扩展方法的形式(可以一级一级的调)   那么,我们自己怎么来写扩展方法呢?

(1)、在类的前面加上static关键字
(2)、在方法的第一个参数前面加上this关键字(这样在使用这个方法的时候就不用在后面的括号中传参,而是用s.的方式来调用这个方法)
(注意这个是.NET3.0的新特性,所以低版本的Vs没法实现)
(3)、方法的第一个参数必须是你要扩展的那个类型,比如你要给int扩展一个方法,那么第一个参数就必须是int。

 

如果想要在低版本的vs中也实现链式编程,看下面的一个例子

 

using System;

using System.Collections.Generic;

using System.Text;

 

namespace 链式编程

{

    class Program

    {

        static void Main(string[] args)

        {

            Person p1 = new Person();

            p1.Name = "名人李四";

            p1.Run().Sing().Swim();

            Console.Read();

        }

    }

    class Person

    {

        private string name;

        public string Name

        {

            get { return name; }

            set { name = value; }

        }

        public Person Run()

        {

            Console.WriteLine("Run");

            return this;

        }

        public Person Swim()

        {

            Console.WriteLine("Swim");

            return this;

        }

        public Person Sing()

        {

            Console.WriteLine("Sing");

            return this;

        }

    }

}

 

 

转载于:https://www.cnblogs.com/La5DotNet/archive/2012/04/06/2434424.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值