[C#] كيف يتم "التباين العام" و "التباين التباين" في C # 4.0؟


Answers

لا أن جون لم تغطيه بالفعل، ولكن هنا بعض الروابط إلى بلوق وأشرطة الفيديو من اريك ليبيرت. انه يقوم بعمل لطيف من شرح ذلك مع الأمثلة.

https://blogs.msdn.microsoft.com/ericlippert/2007/10/16/covariance-and-contravariance-in-c-part-one/

الفيديوهات:

https://www.youtube.com/watch؟v=3MQDrKbzvqU

https://www.youtube.com/watch؟v=XRIadQaBYlI

https://www.youtube.com/watch؟v=St9d2EDZfrg

Question

لم أحضر بك 2008، ولكن سمعت بعض الأخبار أن C # 4.0 أعلن لدعم التباين العام والتباين التباين. وهذا يعني، يمكن تعيين List<string> ليست إلى List<object> . كيف يمكن لذلك ان يحدث؟

في كتاب جون سكيت C # في العمق ، هو موضح لماذا C # جينيراليكس لا يدعم التباين و كونترا التباين. هو أساسا لكتابة رمز آمن. الآن، C # 4.0 تغيرت لدعمهم. هل سيجلب الفوضى؟

أي شخص يعرف التفاصيل حول C # 4.0 يمكن أن تعطي بعض التفسير؟