2009-08-04 12 views

Respuesta

13

Asumiendo que tiene un objeto type con el tipo System.Type (lo que he reunido de la OP),

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

+1 ¡Esto respondió mi pregunta! – IAbstract

+0

¿funciona esto para cualquier interfaz? – DevDave

7

Puede usar el método Type.GetInterface.

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

Creo que la forma más sencilla es utilizar IsAssignableFrom.

Así que de su ejemplo:

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

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

Puede utilizar is para comprobar:

MyType obj = new MyType(); 
if (obj is IList) 
{ 
    // obj implements IList 
} 
Cuestiones relacionadas