У меня есть этот код в .Net 4.6.2 и теперь пытаюсь преобразовать в .Net-ядро, но я получаю ошибку
Ошибка CS1061 "Тип" не содержит определения для "IsGenericType" и никакой метод расширения 'IsGenericType', принимающий первый аргумент тип "Тип" можно найти (если вы не указали директиву или сборка?)
public static class StringExtensions
{
public static TDest ConvertStringTo<TDest>(this string src)
{
if (src == null)
{
return default(TDest);
}
return ChangeType<TDest>(src);
}
private static T ChangeType<T>(string value)
{
var t = typeof(T);
// getting error here at t.IsGenericType
if (t.IsGenericType && t.GetGenericTypeDefinition().Equals(typeof(Nullable<>)))
{
if (value == null)
{
return default(T);
}
t = Nullable.GetUnderlyingType(t);
}
return (T)Convert.ChangeType(value, t);
}
}
Что эквивалентно в .Net Core?
Update1
Удивительно, когда я отлаживаю код, я вижу, что переменная t
имеет свойство IsGenericType
, но я не могу использовать IsGenericType
в коде. Не знаете, почему или какое пространство имен мне нужно добавить. Я добавил using System
и using System.Runtime
оба пространства имён