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

  • 相关阅读:
    一百一十:CMS系统之剩余菜单栏的页面和视图
    一百零九:CMS系统之前端根据不同权限渲染不同菜单
    一百零八:CMS系统之封装权限判断功能
    一百零七:CMS系统之权限和角色模型定义
    一百零六:CMS系统之修改邮箱功能完成
    一百零五:CMS系统之flask-mail使用和邮箱配置、发送邮件功能
    一百零四:CMS系统之修改邮箱界面
    一百零三:CMS系统之使用sweetalert提示框优化返回结果
    一百零二:CMS系统之sweetalert提示框和使用
    一百零一:CMS系统之自定义restful风格json返回格式和内容
  • 原文地址:https://www.cnblogs.com/yoyo-524/p/9506079.html
Copyright © 2011-2022 走看看