2010-06-09 1 views
6

Поэтому, учитывая статический тип в вашем коде вы можете сделатьC#: Как найти значение по умолчанию для типа времени выполнения?

var defaultMyTypeVal = default(MyType); 

Как бы вы сделать то же самое данную переменную типа, так что вы можете использовать его во время выполнения?

Другими словами, как реализовать следующий метод без кучи операторов if или с помощью Generics (потому что я не буду знать тип, который я передавал методу во время компиляции)?

public object GetDefaultValueForType(Type type) { 
    .... 
} 
+1

Я уже отвечал на этот вопрос в следующем сообщении: [Определить значение по умолчанию произвольного типа во время выполнения] (http://stackoverflow.com/questions/2490244/default-value-of-a-type/7881481 # 7881481) Надеюсь, это поможет ... Марк –

ответ

10

От this поста:

public object GetDefaultValue(Type t) 
{ 
    if (t.IsValueType) { 
     return Activator.CreateInstance(t); 
    } else { 
     return null; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^