Что такое ковариантность и контрковариантность? - C#
Формулировка задачи:
Может кто-нибудь объяснить коротко своими словами что такое ковариантность и контрковариантность?
И как эти понятие связаны вот с этим: http://dic.academic.ru/dic.nsf/enc_p...A1%D0%A2%D0%AC
up...
Решение задачи: «Что такое ковариантность и контрковариантность?»
textual
Листинг программы
using System; namespace ConsoleApplication1 { delegate Name UI (FamilyAndName obj); public class Name { public string myName; } public class FamilyAndName : Name { public string Family; } public class UserInfo { public static Name UIName(Name obj) { obj.myName = "Имя пользователя: \"" + obj.myName + "\""; return obj; } public static FamilyAndName UIFamilyName(FamilyAndName obj) { obj.Family = "Имя и фамилия: \"" + obj.myName + " " + obj.Family + "\""; return obj; } } class Program { static void Main() { // Пример ковариантности // Можно использовать метод, возвращаемым типом параметра которого // является производный класс UI user1 = UserInfo.UIFamilyName; // Пример контравариантности // Можно использовать метод, аргументом которого является // базовый класс user1 = UserInfo.UIName; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д