2009-08-04 11 views
7

मेरे पास कुछ प्रकार है (Type का ऑब्जेक्ट)। यह जांचने की आवश्यकता है कि इस प्रकार इंटरफ़ेस IList है।
मैं यह कैसे कर सकता हूं?उस वर्तमान प्रकार (प्रकार की वस्तु) को कैसे इंटरफ़ेस (या पैरेंट प्रकार) की आवश्यकता है,

उत्तर

13

, मान लें कि आप प्रकार System.Type (मैं क्या ओ पी से इकट्ठा) के साथ एक वस्तु type है

Type type = ...; 
typeof(IList).IsAssignableFrom(type) 
+0

+1 यह मेरे प्रश्न का उत्तर दिया !!! – IAbstract

+0

यह किसी भी इंटरफेस के लिए काम करता है? – DevDave

7

आप Type.GetInterface विधि का उपयोग कर सकते हैं।

if (object.GetType().GetInterface("IList") != null) 
{ 
    // object implements IList 
} 
3

मुझे लगता है कि IsAssignableFrom का उपयोग करने का सबसे आसान तरीका है।

अपने उदाहरण से

तो:

Type customListType = new YourCustomListType().GetType(); 

if (typeof(IList).IsAssignableFrom(customListType)) 
{ 
    //Will be true if "YourCustomListType : IList" 
} 
0

आपको यह देखना होगा is उपयोग कर सकते हैं:

MyType obj = new MyType(); 
if (obj is IList) 
{ 
    // obj implements IList 
} 
संबंधित मुद्दे