با سلام!
مطلبی رو که امروز براتون آماده کردم. یه کم با مطالب قبلی تفاوت داره. احتمالا یه کم پیچیده تر.
ترمینولوژی:
Variant : چیزی که به چیزهای دیگر وابستگی دارد اما دقیقا مشابه نیست، گوناگون، متغیر
پیشوند Contra : ضد، مخالف، نقیض
پیشوند Co : با، باهم
برای پارامترهای نوع Generic (عام)، کلمه کلیدی in تعیین می کند که پارامتر آن نوع عام Contravariant است. شما می توانید از این کلمه کلیدی (in) در رابط های (Interface) عام و نماینده ها (delegate) استفاده کنید.
کنتراواریانس این توانایی رو به شما می دهد که از نوع کمتر مشتق شده (پایه ای تر، ریشه ای تر) نسبت به آن نوعی که پارامتر generic تعیین کرده استفاده کنید. که اجازه تبدیل ضمنی کلاس هایی که اینترفیس های گوناگون را پیاده سازی کرده اند را می دهد.