Để đối phó với các lớp một cách hiệu quả, hãy sử dụng khái niệm hiệp phương sai và phương sai tương phản.
Chúng ta hãy coi những điều sau đây là lớp học của chúng ta. Một là lớp cơ sở cho lớp Hai, trong khi Hai là lớp cơ sở cho lớp Ba.
class One { } class Two: One { } class Three : Two { }
Một lớp cơ sở có thể chứa một lớp dẫn xuất, nhưng điều ngược lại là không thể. Với Covariance, bạn có thể chuyển một kiểu dẫn xuất mà kiểu cơ sở được mong đợi. Đồng phương sai có thể được sử dụng trên mảng, giao diện, đại biểu, v.v. trong C #.
Phương sai tương phản dành cho các tham số. Một phương thức có tham số của lớp cơ sở được phép gán cho một đại biểu mong đợi tham số của lớp dẫn xuất có Tương phản.