• 扩展方法与链式编程


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

            }

        }

    }

  • 相关阅读:
    procmon ProcessMonitor,追踪软件权限的一般方法
    加入域的电脑,使用域管理员账号 无法访问指定设备路径
    odoo domain 的三种方法
    vmware 启动虚拟机蓝屏
    ruby gem修改国内镜像源
    Centos7无界面启动
    AjaxHelper简介
    C#的语句
    jQuery的工厂函数$()的妙用
    记录windwos10 rocketmq无法自动创建topic的问题
  • 原文地址:https://www.cnblogs.com/La5DotNet/p/2434424.html
Copyright © 2020-2023  润新知