以下是我想要做的简化示例。在实际代码中,我捕获异常来做其他事情。但实质上我想将'Convert'类包装在泛型函数中,但是这个代码会产生一个错误,说它不能隐式地从类型'ushort'转换为'T'。
感激地收到任何想法。 (这是我的第一个问题,所以对我温柔!)
private T ChangeValue<T>(T value, string x)
{
if (typeof(UInt16) == typeof(T))
{
value = Convert.ToUInt16(x);
}
return value;
}
答案 0 :(得分:4)
你在找这样的东西吗?
private T ChangeType<T>(object value)
{
return (T)Convert.ChangeType(value, typeof(T));
}
用法:的
double result = ChangeType<double>(true);