Tôi hiện đang đọc về hiệp phương sai và đối ứng trong C#.Không hiệp phương sai/contravariance áp dụng cho các loại chuyển đổi ngầm mà không thực hiện một giao diện chung?
Tất cả các ví dụ đều có chi tiết về các đối tượng có thể chuyển đổi và khác nhau do tính chính xác từ việc triển khai Giao diện, ví dụ:
đâu Circle : IShape
Hiệp phương sai: SomeType<Circle> as SomeType<IShape>
Contravariance: SomeType<IShape> as SomeType<Circle>
Nếu TypeA
và TypeB
từng có một implicit converter
viết để chuyển đổi sang loại khác, nhưng không thực hiện bất kỳ giao diện chung , là nó vẫn chính xác để nói về hiệp phương sai/contravariance khi đối phó với việc chuyển đổi generics của thes e loại? Hay đây là một khái niệm khác?
Có tên cho khái niệm này không? Có một loại phương sai chung khác không? – StuperUser