2010-06-09 16 views
6

Więc biorąc pod uwagę rodzaj statycznego w kodzie można zrobićC#: Jak znaleźć wartość domyślną dla typu run-time?

var defaultMyTypeVal = default(MyType); 

Jak byś zrobić to samo danej zmiennej typu, dzięki czemu można go używać w czasie wykonywania?

Innymi słowy, w jaki sposób zaimplementować następującą metodę bez kupy instrukcji if lub używając Generics (ponieważ nie będę znać typu, który przechodzę do metody w czasie kompilacji)?

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

już odpowiedział na to zagadnienie w następujący wpis: [Określić domyślną wartość dowolnego typu w czasie wykonywania] (http://stackoverflow.com/questions/2490244/default-value-of-a-type/7881481 # 7881481) Mam nadzieję, że to pomaga ... Mark –

Odpowiedz

10

Od this postu:

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