zoukankan      html  css  js  c++  java
  • 泛型类和扩展方法

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace 泛型类扩展方法
    {
        class Holder<T>
        {
            T[] vars = new T[3];
        public Holder(T v0,T v1,T v2)
        {
            vars[0] = v0;
            vars[1] = v1;
            vars[2] = v2;    
        }
        public T[] GetValues() 
        {
            return vars;
        }
        }
        /*扩展方法的要求:
         *1、声明为static
         *2、是静态类的成员
         *3、第一个参数类型中必须有关键词this,后面是扩展的泛型类的名字
         */
        static class ExtendHolder
        {
            public static void Print<T>(this Holder<T> h)
            {
                T[] vlas = h.GetValues();
                Console.WriteLine("{0}, {1}, {2}",vlas[0],vlas[1],vlas[2]);
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                var intHolder = new Holder<int>(3, 5, 7);
                var stringHolder = new Holder<string>("asd","dfew","vrfa");
                intHolder.Print();
                stringHolder.Print();
                Console.ReadKey();
            }
        }
    }
  • 相关阅读:
    3.2.1 webpack-dev-server的使用
    打印预览及打印
    2.1.8 webpack的环境
    常用docker 启动
    github镜像
    Log解析
    【Bzoj4555】【Luogu P4091】求和(NTT)
    【Bzoj3527】【Luogu3338】[Zjoi2014]力(FFT)
    FFT实现高精度乘法
    Bzoj 2190 仪仗队(莫比乌斯反演)
  • 原文地址:https://www.cnblogs.com/sulong/p/4801459.html
Copyright © 2011-2022 走看看