2009-08-04 38 views

Trả lời

13

Giả sử bạn có một đối tượng type với kiểu System.Type (những gì tôi thu thập được từ các OP),

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

+1 Câu trả lời này đã trả lời câu hỏi của tôi !!! – IAbstract

+0

có hoạt động với bất kỳ Giao diện nào không? – DevDave

7

Bạn có thể sử dụng phương thức Type.GetInterface.

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

Tôi nghĩ cách dễ nhất là sử dụng IsAssignableFrom.

Vì vậy, từ ví dụ của bạn:

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

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

Bạn có thể sử dụng is để kiểm tra:

MyType obj = new MyType(); 
if (obj is IList) 
{ 
    // obj implements IList 
} 
Các vấn đề liên quan