2010-06-09 6 views
6

Así da un tipo estático en su código que puede hacerC#: ¿Cómo encontrar el valor predeterminado para un Tipo de tiempo de ejecución?

var defaultMyTypeVal = default(MyType); 

¿Cómo hacer la misma cosa dada una variable de tipo para que pueda utilizarlo durante el tiempo de ejecución?

En otras palabras, ¿cómo implemento el siguiente método sin un montón de sentencias if o usando Generics (porque no sabré el tipo que paso al método en tiempo de compilación)?

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

que ya han respondido a esta cuestión en la siguiente publicación: [Determinar el valor por defecto de un tipo arbitrario en tiempo de ejecución] (http://stackoverflow.com/questions/2490244/default-value-of-a-type/7881481 # 7881481) Espero que esto ayude ... Mark –

Respuesta

10

De this mensaje:

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