xem xét mẫu mã sau đây, nơi Concrete
xuất phát từ Base
:Loại 'T' không thể được sử dụng như là tham số kiểu trong các loại generic hoặc lỗi phương pháp khi loại được biết đến
Trên dòng tôi đang ở đâu có lỗi biên dịch, tôi đã kiểm tra rằng đối số chung có thể gán cho loại Concrete
. Vì vậy, theo lý thuyết tôi tin rằng cần có một cách để tạo ra một thể hiện của lớp Bar.
Có cách nào để tôi có thể xóa lỗi biên dịch không? Tôi không thể nghĩ ra cách để tranh luận.
Toàn văn lỗi biên dịch:
Error 14 The type 'T' cannot be used as type parameter 'T' in the generic type or method 'Bar'. There is no implicit reference conversion from 'T' to 'Concrete'.
Biên dịch đó cho tôi ... là ví dụ * thực tế *? có lẽ các thông số trong mã thực của bạn không? –
Mã của bạn không khớp với thông báo lỗi. Chắc chắn bạn đã viết 'Bar(); ' –
Có lý do nào khiến Foo không có' nơi T: Bê tông'? – Servy