• 扩展方法与链式编程


    如: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;

            }

        }

    }

  • 相关阅读:
    [模板] 文艺平衡树
    [模板]平衡树splay
    [ZJOI2015]诸神眷顾的幻想乡
    [HAOI2016]找相同字符
    SP8093 JZPGYZ
    SP1812 LCS2
    SP1811 LCS
    AHOI2013 差异
    TJOI2015 弦论
    工艺(SAM)
  • 原文地址:https://www.cnblogs.com/La5DotNet/p/2434424.html
Copyright © 2020-2023  润新知