Có thể trong C# để có được các loại lớp con từ lớp cơ sở không?Nhận các lớp học trẻ em từ lớp cơ sở
17
A
Trả lời
23
Không trực tiếp, tuy nhiên bạn có thể sử dụng AppDomain.GetAssemblies() để nhận tất cả các cụm hiện đang được nạp, sau đó sử dụng Assembly.GetTypes() để nhận tất cả các loại trong hội đồng đó. Sau đó, sử dụng Type.IsSubclassOf() để xác định xem đó có phải là lớp con của loại bạn đang theo dõi hay không.
4
bạn có thể chọn các hội bạn muốn kiểm tra, nhận các loại với phương pháp Assembly.GetTypes()
và thử nghiệm cho mỗi người trong số họ nếu nó là một lớp con với Type.IsSubclassOf()
thấy Assembly members và Type members
19
Bạn có thể làm điều này :
var subclassTypes = Assembly
.GetAssembly(typeof(BaseClass))
.GetTypes()
.Where(t => t.IsSubclassOf(typeof(BaseClass)));
3
thử mã này:
public static IEnumerable<Type> GetAllSubclassOf(Type parent)
{
foreach (var a in AppDomain.CurrentDomain.GetAssemblies())
foreach (var t in a.GetTypes())
if (t.IsSubclassOf(parent)) yield return t;
}
Các vấn đề liên quan
- 1. thêm lớp học cho trẻ em này
- 2. Từ phương pháp lớp cơ sở dụ gọi trẻ em đã được ghi đè
- 3. add lớp cho trẻ em - jquery
- 4. Làm cho các lớp học Trẻ em thành Non Serializable trong java
- 5. Nhận namespace lớp trẻ từ lớp cha trong PHP
- 6. C#: Chuyển đổi Base Class để trẻ em Lớp
- 7. Các lớp "Cơ sở" Ruby
- 8. Quá tải một chức năng ảo trong một lớp học trẻ em
- 9. phím tắt nhật thực để tìm tất cả lớp học trẻ em ghi đè phương thức
- 10. Thêm lớp học động cho trẻ em bằng cách lặp qua div
- 11. PHP Truy cập biến riêng tư từ trẻ em
- 12. Lớp hoặc Lớp cơ sở trừu tượng?
- 13. Các lớp học kế thừa từ lớp trừu tượng
- 14. lớp cơ sở chung kế thừa từ giao diện Generic
- 15. Django Lọc Base Class bởi trẻ em lớp Names
- 16. Calling lớp cơ sở ghi đè chức năng từ phương pháp lớp cơ sở
- 17. "C# lớp cơ sở chức năng ảo" - "ghi đè trong lớp học quản lý C++"
- 18. Học thuyết 2 nhận tên lớp thực của lớp proxy
- 19. Có thể dynamic_cast từ một lớp cơ sở này sang lớp cơ sở khác không?
- 20. mô hình lớp cơ sở trừu tượng và các lớp con trong cơ sở dữ liệu
- 21. Perl: Làm cách nào để nhập các chương trình con từ lớp cơ sở?
- 22. C# số lớp cơ sở
- 23. LINQ chọn các mục từ bộ sưu tập trẻ em
- 24. nHibernate - Tạo các lớp từ cơ sở dữ liệu?
- 25. Các lớp cơ sở trừu tượng lớn
- 26. Chuyên môn về mẫu cho các lớp con của lớp cơ sở mẫu
- 27. Cách nhận một mục từ trẻ em trong ExpandableListView?
- 28. Nhận phụ huynh lớp học?
- 29. Lớp cơ sở so với Lớp tiện ích
- 30. Phân tích phương trình toán học cơ bản cho phần mềm giáo dục của trẻ em?
Cảm ơn bạn. Nó hoạt động. – Polaris
Có cách nào để chỉ nhận được các hội đồng người dùng (trái ngược với các cụm hệ thống) không? Nếu có một tùy chọn để có được lắp ráp này và tất cả các tham chiếu (để này) hội đồng đó sẽ là một giải pháp tốt. – Shimmy
Tìm thấy: http://msdn.microsoft.com/en-us/library/system.reflection.assembly.getreferencedassemblies.aspx – Shimmy