zoukankan      html  css  js  c++  java
  • 扩展方法与链式编程

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

            }

        }

    }

  • 相关阅读:
    SpringMVC金课-课程大纲
    Type Cannot change version of project facet Dynamic Web Module to 3.0.
    使用maven 创建web项目 + 搭建SSM框架
    多文件上传
    asp.net 连接access数据库方法
    分享代码
    DIV+CSS解决IE6,IE7,IE8,FF兼容问题(转至http://www.douban.com/note/163291324/)
    asp.net发布网站(转)
    Img垂直居中
    http://www.apkbus.com/android-6231-1.html
  • 原文地址:https://www.cnblogs.com/La5DotNet/p/2434424.html
Copyright © 2011-2022 走看看