zoukankan      html  css  js  c++  java
  • 第一节泛型

    .Net Framework1.0  c# 1.0 版本

    打印不同的类型参数,需要些多个方法

    /// <summary>
    /// 打印一个int值
    /// </summary>
    /// <param name="iParameter"></param>
    public static void ShowInt(int iParameter)
    {
    Console.WriteLine("This is {0},parameter={1},type={2}",
    typeof(CommonMethod).Name, iParameter.GetType().Name, iParameter);
    }

    /// <summary>
    /// 打印个string值
    /// </summary>
    /// <param name="sParameter"></param>
    public static void ShowString(string sParameter)
    {
    Console.WriteLine("This is {0},parameter={1},type={2}",
    typeof(CommonMethod).Name, sParameter.GetType().Name, sParameter);
    }

    /// <summary>
    /// 打印个DateTime值
    /// </summary>
    /// <param name="oParameter"></param>
    public static void ShowDateTime(DateTime dtParameter)
    {
    Console.WriteLine("This is {0},parameter={1},type={2}",
    typeof(CommonMethod).Name, dtParameter.GetType().Name, dtParameter);
    }

    可以通过Object父类继承的方式来优化代码


    /// <summary>
    /// 打印个object值
    /// 1 object类型是一切类型的父类
    /// 2 通过继承,子类拥有父类的一切属性和行为;任何父类出现的地方,都可以用子类来代替
    ///
    /// .Net Framework1.0 1.1
    /// 亚当 任何一个夏娃,都可以
    ///
    /// object引用类型 加入传个值类型int 会有装箱拆箱 性能损失
    /// 类型不安全
    /// </summary>
    /// <param name="oParameter"></param>
    public static void ShowObject(object oParameter)
    {
    Console.WriteLine("This is {0},parameter={1},type={2}",
    typeof(CommonMethod), oParameter.GetType().Name, oParameter);

    //Console.WriteLine($"{((People)oParameter).Id}_{((People)oParameter).Name}");

    }

    /// <summary>
    /// 2.0推出的新语法
    /// 泛型方法解决用一个方法,满足不同参数类型;做相同的事儿
    /// 没有写死参数类型,调用的时候才指定的类型
    /// 单身狗:小西瓜
    /// 章子怡 范冰冰 凤姐
    /// 延迟声明:把参数类型的声明推迟到调用
    ///
    /// 推迟一切可以推迟的~~ 延迟思想
    ///
    ///
    /// 不是语法糖,而是2.0由框架升级提供的功能
    /// 需要编译器支持+JIT支持
    /// </summary>
    /// <typeparam name="T">T/S 不要用关键字 也不要跟别的类型冲突 </typeparam>
    /// <param name="tParameter"></param>
    public static void Show<T>(T tParameter)
    {
    Console.WriteLine("This is {0},parameter={1},type={2}",
    typeof(GenericMethod), tParameter.GetType().Name, tParameter.ToString());
    }


    public static void ShowObject(object oParameter)
    {
    Console.WriteLine("This is {0},parameter={1},type={2}",
    typeof(GenericMethod), oParameter.GetType().Name, oParameter);
    }

  • 相关阅读:
    一则线上MySql连接异常的排查过程
    有一种娱乐叫看别人编程
    程序员DNS知识指南
    中国式开源
    RSS与公众号
    论国人的素质和一个公司的商业道德
    《阿里游戏高可用架构设计实践》阅读笔记
    《淘宝数据魔方技术架构解析》阅读笔记
    软件体系架构_系统质量属性场景描述_结合《淘宝网》实例
    《余额宝技术架构及演进》阅读笔记
  • 原文地址:https://www.cnblogs.com/yoyo-524/p/9506079.html
Copyright © 2011-2022 走看看