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);
    }

  • 相关阅读:
    命令执行顺序控制与管道
    js获取返回首页
    手机站点击商务通无轨迹解决方法
    js文字向上滚动代码
    文字隐藏多余的文字
    QQ弹窗代码
    百度推送代码
    js手机站跳转
    js 判断时间,满足执行框架
    js切换换class
  • 原文地址:https://www.cnblogs.com/yoyo-524/p/9506079.html
Copyright © 2011-2022 走看看