2009-08-04 5 views

Odpowiedz

13

Zakładając, że obiekt type z typem System.Type (co zebrałem z OP),

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

+1 Odpowiedź na moje pytanie !!! – IAbstract

+0

działa to dla dowolnego interfejsu? – DevDave

7

Można użyć metody Type.GetInterface.

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

Myślę, że najprostszym sposobem jest użycie IsAssignableFrom.

Więc z przykładu:

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

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

Można użyć is do sprawdzenia:

MyType obj = new MyType(); 
if (obj is IList) 
{ 
    // obj implements IList 
} 
Powiązane problemy