Giả sử tôi có một lớp trông như thế này:Làm cách nào để kiểm tra xem một lớp có kế thừa lớp khác mà không khởi tạo lớp đó không?
class Derived : // some inheritance stuff here
{
}
Tôi muốn kiểm tra một cái gì đó như thế này trong mã của tôi:
Derived is SomeType;
Nhưng trông giống như nhu is
điều hành nguồn gốc được biến kiểu Dervied , không xuất phát từ chính nó. Tôi không muốn tạo đối tượng thuộc loại Có nguồn gốc.
Làm cách nào để đảm bảo Derived kế thừa SomeType
mà không cần khởi tạo?
P.S. Nếu nó giúp, tôi muốn một cái gì đó giống như những gì where
từ khóa không với generics.
CHỈNH SỬA:
Tương tự như this câu trả lời nhưng kiểm tra đối tượng. Tôi muốn kiểm tra bản thân lớp.
Cũng giống như một lưu ý cho bất cứ ai khác tự hỏi, điều này sẽ không trở thành sự thật khi kiểm tra đối với định nghĩa kiểu/giao diện chung chung, như xa như tôi có thể cho bạn biết cần phải tìm kiếm chuỗi thừa kế và tự kiểm tra các định nghĩa kiểu generic. –
Alex, làm thế nào bạn sẽ đi về tìm kiếm chuỗi thừa kế của một loại chung chung để thực hiện điều này? Ghi chú của –
@ AlexHopeO'Connor là quan trọng và tôi nghĩ giải pháp là có http://stackoverflow.com/questions/457676/check-if-a-class-is-derived-from-a-generic-class –