Преобразование универсального типа из строки

Метод Любоса Хаско не работает generics для значений NULL. Приведенный visual-c# ниже метод будет работать java-generics для значений NULL. Однако csharp я не придумал этого. Я нашел primitives его через Google: http://web.archive.org/web/20101214042641/http://dogaoztuzun.com/post/C-Generic-Type-Conversion.aspx Кредит csharp "Тунец Токсоз"

Использование primitives в первую очередь:

TConverter.ChangeType(StringValue);  

Класс ниже.

public static class TConverter
{
    public static T ChangeType(object value)
    {
        return (T)ChangeType(typeof(T), value);
    }

    public static object ChangeType(Type t, object value)
    {
        TypeConverter tc = TypeDescriptor.GetConverter(t);
        return tc.ConvertFrom(value);
    }

    public static void RegisterTypeConverter() where TC : TypeConverter
    {

        TypeDescriptor.AddAttributes(typeof(T), new TypeConverterAttribute(typeof(TC)));
    }
}

c#

generics

primitive

type-safety

2022-10-21T01:26:15+00:00
Вопросы с похожей тематикой, как у вопроса:

Преобразование универсального типа из строки