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

  • 相关阅读:
    day15---作业
    day14---函数的参数
    day14作业
    day--13函数的基本使用
    day13--函数练习(作业)
    day12--文件处理
    day12--作业
    Python函数对象、函数嵌套和闭包函数
    每日作业以及周末作业
    Python名称空间与作用域
  • 原文地址:https://www.cnblogs.com/shouwu/p/4958008.html
Copyright © 2011-2022 走看看