2010-10-14 6 views
7

Ich bin neugierig, wie zu prüfen, ob der gegebene Typ Version des offenen Typs geschlossen ist. Zum BeispielVergleichen geschlossen Typ mit offenen Typ

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

Antwort

13

Versuchen Type.GetGenericTypeDefinition:

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

Dies ist, was ich an erster Stelle versucht hatte, dachte aber, es nicht funktioniert, weil ich Fehler irgendwo anders in Code hatte. Danke trotzdem :) – jethro

Verwandte Themen