我在项目中使用反射。

在某些情况下,我需要将从网页源检索到的字符串转换为其他类型,例如int等。

我用这个签名创建了方法:

internal static T GetData<T>(parameter,parameter)


因此,如果Framework用户想要获取int,请轻松使用GetData<int>

我想向我的方法中添加异常处理,而不是try / catch

用于检查String是否可以转换为T。

问题在于TypeConverter类在.NetStandard中不可用。

    TypeConverter typeConverter = TypeDescriptor.GetConverter(typeof(string));

    if (typeConverter.CanConvertTo(typeof(T)) == false)
    {
        throw new InvalidCastException("Can not convert");
    }


c# - .NET Standard 1.6中的TypeConverter替代-LMLPHP

我想使用.Net的本机功能检查转换,而不是使用第三方库或try / catch。
我怎样才能做到这一点 ?

最佳答案

一个简单的选项是更新到.NET Standard 2.0:

c# - .NET Standard 1.6中的TypeConverter替代-LMLPHP

07-24 20:06