zoukankan      html  css  js  c++  java
  • 将类型(int,string,…)转换为 T 类型

    方法定义:

    private static T GetValueByKey<T>(string key) where T : IConvertible
    {
    T localVal=default(T);

    string strType = typeof(T).Name;
    string valuesData = ConfigurationManager.AppSettings[key].ToString();

    localVal = (T)Convert.ChangeType(valuesData, typeof(T));

    return localVal;

    }

    public static TConvertType DoConvert<TConvertType>(object convertValue, out bool hasConverted)
    {
        hasConverted = false;
        var converted = default(TConvertType);
        try
        {
            converted = (TConvertType) 
                Convert.ChangeType(convertValue, typeof(TConvertType));
            hasConverted = true;
        }
        catch (InvalidCastException)
        {
        }
        catch (ArgumentNullException)
        {
        }
        catch (FormatException)
        {
        }
        catch (OverflowException)
        {
        }
    
        return converted;
    }

    写法二:


    public static TConvertType DoConvert<TConvertType>(object convertValue, out bool hasConverted)
    {
    hasConverted = false;
    var converted = default(TConvertType);
    try
    {
    converted = (TConvertType)
    Convert.ChangeType(convertValue, typeof(TConvertType));
    hasConverted = true;
    }
    catch (InvalidCastException)
    {
    }
    catch (ArgumentNullException)
    {
    }
    catch (FormatException)
    {
    }
    catch (OverflowException)
    {
    }

    return converted;
    }

     

     

    调用:

    GetValueByKey<string>("aaa"); 

    GetValueByKey<int>("bbb"); 

    参考:http://stackoverflow.com/questions/8171412/cannot-implicitly-convert-type-int-to-t

  • 相关阅读:
    穷举 百鸡百钱
    for嵌套for ★
    纸张的厚度循环
    MySQL架构由小变大的演变过程
    MySQL数据库主从复制实践
    想要写出高性能sql语句,你得记住这些……
    Mongodb常用的性能监控命令
    Mongodb的mongostat命令
    Windows下MongoDB常用命令
    Windows下Mysql常用操作命令
  • 原文地址:https://www.cnblogs.com/shouwu/p/4958008.html
Copyright © 2011-2022 走看看