2010-10-14 14 views
7

Tengo curiosidad por saber si el tipo dado está cerrado versión de tipo abierto. Por ejemploComparar tipo cerrado con tipo abierto

public bool IsGenericList(Type source) 
{ 
    return (source.IsGenericType && 
      /*here goes the manipulation on source type*/ == typeof(List<>)); 
} 

Respuesta

13

Trate Type.GetGenericTypeDefinition:

public bool IsGenericList(Type source) 
{ 
    return source.IsGenericType && 
      source.GetGenericTypeDefinition() == typeof(List<>); 
} 
+0

Esto es lo que había intentado en primer lugar, pero pensó que no funciona porque no tenía otro lugar bug en el código. Gracias de cualquier manera :) – jethro

Cuestiones relacionadas