В.NET, во времени выполнения: Как получить значение по умолчанию типа от Текстового объекта? [дубликат]

Возможный дубликат:
Значение по умолчанию типа

В C#, для получения значения по умолчанию Типа я могу записать...

var DefaultValue = default(bool);`

Но, как получить то же значение по умолчанию для предоставленной Переменной типа?.

public object GetDefaultValue(Type ObjectType)
{
    return Type.GetDefaultValue();  // This is what I need
}

Или, другими словами, какова реализация ключевого слова "по умолчанию"?

26
задан Community 23 May 2017 в 10:31
поделиться

2 ответа

Я думаю, что функция Фредерика на самом деле должна выглядеть так:

public object GetDefaultValue(Type t)
{
    if (t.IsValueType)
    {
        return Activator.CreateInstance(t);
    }
    else
    {
        return null;
    }
}
42
ответ дан 28 November 2019 в 06:50
поделиться

Вероятно, вам следует исключить Nullable case также, чтобы сократить несколько циклов ЦП:

public object GetDefaultValue(Type t) {
    if (t.IsValueType && Nullable.GetUnderlyingType(t) == null) {
        return Activator.CreateInstance(t);
    } else {
        return null;
    }
}
15
ответ дан 28 November 2019 в 06:50
поделиться
Другие вопросы по тегам:

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