Tôi có một loại nào đó (đối tượng là Type
). Cần kiểm tra xem loại này có giao diện IList không.
Tôi có thể làm điều này như thế nào?Cách kiểm tra loại hiện tại (đối tượng Loại) có cần giao diện (hoặc loại gốc)
7
A
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)
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
- 1. Kiểm tra loại có nguồn gốc (C++)
- 2. OCaml: Loại đối tượng kiểm tra
- 3. Loại bê tông hoặc Giao diện cho loại trả lại?
- 4. Cách hiệu quả nhất để kiểm tra loại đối tượng
- 5. Kiểm tra xem một đối tượng có thực hiện giao diện chung cho bất kỳ loại chung nào
- 6. Kiểm tra xem đối tượng có thực hiện giao diện
- 7. truyền đối tượng vào loại gốc
- 8. Thay đổi loại thuộc tính trong lớp thực hiện giao diện với thuộc tính loại đối tượng
- 9. Loại kiểm tra trong C++
- 10. Kiểm tra loại biến
- 11. Kiểm tra NSPredicate cho loại đối tượng lớp
- 12. Xem hai đối tượng có cùng loại
- 13. Kiểm tra loại Prolog
- 14. Kiểm tra các loại đối tượng trong C++ 11
- 15. Loại bỏ giao diện Metro
- 16. Có loại "SELF" trong scala đại diện cho loại hiện tại không?
- 17. kiểm tra xem thể hiện loại
- 18. Các loại chung so với lớp trừu tượng/Giao diện
- 19. Cách kiểm tra loại mạng GSM GSM hoặc CDMA
- 20. Cách phản ánh các loại có giao diện chung, và nhận loại đó là
- 21. Kiểm tra xem loại có hỗ trợ chuyển đổi loại ẩn hoặc rõ ràng sang loại khác với .NET
- 22. Có thể kiểm tra đối với nhiều loại trong một loại trang web trong Jasmine.Js không?
- 23. Nhà máy biết loại đối tượng nào cần tạo?
- 24. Tạo loại thực hiện giao diện nội bộ
- 25. Kiểm tra xem một loại thực hiện một giao diện chung mà không xem xét các đối số kiểu generic
- 26. Cách kiểm tra xem hai đối tượng có cùng loại trong Actionscript không?
- 27. Cách kiểm tra xem đối tượng có phải là một mảng của một loại nhất định
- 28. Loại nào nhanh, Tóm tắt hoặc Giao diện?
- 29. Java: Tạo đối tượng có loại là thông số loại
- 30. XDocument.Save() loại bỏ đối tượng
+1 Câu trả lời này đã trả lời câu hỏi của tôi !!! – IAbstract
có hoạt động với bất kỳ Giao diện nào không? – DevDave