Giả sử tôi có hệ thống phân cấp lớp sau đây:C# generics - Tôi có thể biến T thành một trong hai lựa chọn không?
Class A {...}
Class B : A {...}
Class C : A {...}
Những gì tôi đang có là
Class D<T> where T : A {...}
nhưng tôi muốn một cái gì đó có dạng
Class D<T> where T in {B,C}
Điều này là do một số hành vi kỳ lạ Tôi không chịu trách nhiệm về nơi B và C có phương pháp phổ biến mà không phải là trong A, nhưng nó sẽ là tốt đẹp để có thể gọi chúng trong D trên T.
Lưu ý: Tôi không có quyền truy cập vào A, B hoặc C để chỉnh sửa chúng
Đó là một số rootbeer tốt ... – Nate
Nhưng, ông không kiểm soát các nguồn A, B và C. Sẽ làm cho giải pháp này một chút khó khăn để thực hiện. – GvS
Ah Tôi chưa thấy bản chỉnh sửa. Nếu một giao diện như vậy không tồn tại, thì không có cách nào trực tiếp để triển khai lớp D theo như tôi biết. – Grzenio