• 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();
            }
        }
    }
  • 相关阅读:
    异常显示页面
    SpringBoot项目打包的两种类型1-WAR方式
    SpringBoot项目打包的两种类型1-JAR方式
    Spring Boot项目打包部署
    json转义处理
    xadmin使用
    nginx 反向代理
    python 队列、栈
    Django logging配置
    Tensorflow学习教程------普通神经网络对mnist数据集分类
  • 原文地址:https://www.cnblogs.com/sulong/p/4793845.html
Copyright © 2020-2023  润新知