zoukankan      html  css  js  c++  java
  • 枚举.NET的基本类型

    在使用反射的时候,有时候要根据不同的类型做不同的操作。其中要做的一件事是枚举.NET的基本类型。由于进行.NET开发,已经对.NET的基本类型较了解,可能会使用下面的代码进行枚举:

    Type objectType = obj.GetType();
    if(objectType == typeof(string))
    {
        // DO sth
    }
    else if(objectType == typeof(int) || objectType == typeof(int?))
    {
        // DO sth
    }
    else if(objectType == typeof(enum))
    {
        // DO sth
    }
    // more else


    这样做有一点不好,有时候要为漏掉某个基本而苦恼。
    原来.NET FX中有相应的类型和方法可以做得更好:使用 Convert.GetTypeCode 获取一个值,而这个值是 TypeCode 枚举值中的一个。这样就简单了。

    TypeCode code = Convert.GetTypeCode(obj);
    switch(code)
    {
        case TypeCode.String:
        // DO sth
        break;

        case TypeCode.Int:
        // DO sth
        break;
        // case ...
    }

    这样除了代码看起来优雅外,还可以避免列举不全的问题。

  • 相关阅读:
    进制转换
    BZOJ 1232 安慰奶牛题解
    [BeiJing wc2012]冻结 题解
    the Captain题解;
    最佳贸易
    第二短路
    街道赛跑
    图论基础知识.
    Tkinter 之事件绑定
    Tkinter 之TopLevel顶级窗口
  • 原文地址:https://www.cnblogs.com/qkhh/p/2441386.html
Copyright © 2011-2022 走看看