Что такое ковариантность и контрковариантность? - 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;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5