zoukankan      html  css  js  c++  java
  • C#扩展方法

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /*
     * 扩展方法允许编写和声明它的类之外的类关联的方法
     * 1、扩展方法必须声明为static
     * 2、扩展方法声明所在的类也必须声明为static
     * 3、扩展方法必须包含关键字this 作为他的第一个参数类型,并在后面跟着它扩展的类的名称
    */
    namespace ExtendMethod
    {
        sealed class MyData
        {
            private double D1, D2, D3;
            public MyData(double d1, double d2, double d3)
            {
                D1 = d1; D2 = d2; D3 = d3;
            }
            public double Sum()
            {
                return D1 + D2 + D3;
            }
        }
        static class ExtendMyData
        {
            public static double Average(this MyData md)//扩展类MyData的方法
            { 
                return md.Sum()/3;
            }
        }
        static class ExtendMyData1
        {
            public static double Average( MyData md)//非扩展类MyData的方法
            {
                return md.Sum() / 3;
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                MyData md = new MyData(3, 4, 5);
                Console.WriteLine("Sum: {0}",md.Sum());
                Console.WriteLine("扩展方法md.Avrage: {0}", md.Average());
                Console.WriteLine("非扩展方法ExtendMyData1.Average:{0}",ExtendMyData1.Average(md));
                Console.ReadKey();
            }
        }
    }
  • 相关阅读:
    结对项目——电子书的字段
    痛点分析
    文本统计——字符 单词 行数
    音乐播放器需求分析
    简单的四则运算
    高德地图——一款功能强大的APP
    记一次mysql小版本升级
    Servlet/JSP面试题目-----近期总结
    【转】各种概念POJO、JAVABEAN、DAO、DTO、PO、VO、BO、SSH、EJB
    springMVC框架(二)---springMVC框架高级开发
  • 原文地址:https://www.cnblogs.com/sulong/p/4793845.html
Copyright © 2011-2022 走看看