如何将'Convert'类包装成Generic函数

时间:2011-09-07 09:42:35

标签: c# .net generics

以下是我想要做的简化示例。在实际代码中,我捕获异常来做其他事情。但实质上我想将'Convert'类包装在泛型函数中,但是这个代码会产生一个错误,说它不能隐式地从类型'ushort'转换为'T'。

感激地收到任何想法。 (这是我的第一个问题,所以对我温柔!)

    private T ChangeValue<T>(T value, string x)
    {
        if (typeof(UInt16) == typeof(T))
        {
            value = Convert.ToUInt16(x);
        }
        return value;
    }

1 个答案:

答案 0 :(得分:4)

你在找这样的东西吗?

private T ChangeType<T>(object value)
{
    return (T)Convert.ChangeType(value, typeof(T));
}

用法:

double result = ChangeType<double>(true);