2010-10-14 10 views
7

के साथ बंद प्रकार की तुलना करें मैं यह जानकर उत्सुक हूं कि दिए गए प्रकार को बंद किया गया है या नहीं, संस्करण खुला प्रकार का है। उदाहरणखुले प्रकार

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

उत्तर

13

Type.GetGenericTypeDefinition का प्रयास करें:

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

यह है कि मैं क्या पहली जगह में की कोशिश की थी लेकिन सोचा क्योंकि मैं कोड में कहीं और बग था यह काम नहीं करता है। फिर भी धन्यवाद :) – jethro

संबंधित मुद्दे