Универсальный метод преобразования типа (.NET)

Ради полноты моя жена использовала Обучающая программа Ввода килопонда, работавшая отлично.

+1 при обсуждении больше

11
задан André Hauptfleisch 23 October 2009 в 02:11
поделиться

4 ответа

Вы можете использовать метод Convert.ChangeType , если используемые вами типы реализуют IConvertible (все примитивные типы поддерживают).

    Convert.ChangeType(value, targetType);
17
ответ дан 27 October 2019 в 04:19
поделиться

Вы не можете привести его к типу, который вы указываете динамически.

Вы можете рассмотреть возможность использования дженериков вместо этого, но мне понадобится больше кода, чтобы увидеть, как это может помочь вам.

0
ответ дан 27 October 2019 в 04:19
поделиться

Вы можете сделать что-то вроде следующего:

    Type underlyingType = Type.GetType(someType);


    if (underlyingType.IsGenericType && underlyingType.GetGenericTypeDefinition().Equals(typeof (Nullable<>)))
    {
        var converter = new NullableConverter(underlyingType);
        underlyingType = converter.UnderlyingType;
    }

    // Try changing to Guid  
    if (underlyingType == typeof (Guid))
    {
        return new Guid(value.ToString());
    }
    return Convert.ChangeType(value, underlyingType);

Престижность Monsters Go My.net за функцию изменения типа

0
ответ дан 27 October 2019 в 04:19
поделиться

Взгляните на метод Convert.ChangeType , я думаю, он удовлетворит ваши потребности.

3
ответ дан 27 October 2019 в 04:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: