Size: a a a

2021 April 30

rr

razumovsky r in CODE BLOG / C#
да
источник

S

Sergey Trofimov in CODE BLOG / C#
какая ошибка?
источник

rr

razumovsky r in CODE BLOG / C#
Переслано от razumovsky r
оно даже без разницы стурктура это или класс, в шарпе может быть ковариантным либо контравариантным: интерфейс, делегат
источник

rr

razumovsky r in CODE BLOG / C#
делегат на метод замени
источник

rr

razumovsky r in CODE BLOG / C#
грубо говоря пиши
источник

S

Sergey Trofimov in CODE BLOG / C#
Do это метод
источник

rr

razumovsky r in CODE BLOG / C#
ты издиваешься надо мной ?
источник

rr

razumovsky r in CODE BLOG / C#
пиши контравариантный ретурн методу
источник

S

Sergey Trofimov in CODE BLOG / C#
а ретурн причем?
источник

rr

razumovsky r in CODE BLOG / C#
пиши

public static string Test() => new object();
источник

rr

razumovsky r in CODE BLOG / C#
и лови ошибку на этапе компиляции
источник

rr

razumovsky r in CODE BLOG / C#
А — базовый класс
источник

rr

razumovsky r in CODE BLOG / C#
у тебя ковариантность в данном примере
источник

S

Sergey Trofimov in CODE BLOG / C#
приведение к базовому это контр
источник

rr

razumovsky r in CODE BLOG / C#
public static B Test() => new A();
источник

rr

razumovsky r in CODE BLOG / C#
у тебя от базового А, возвращается конкретный Б
источник

rr

razumovsky r in CODE BLOG / C#
у тебя ковариантность классическая
источник

S

Sergey Trofimov in CODE BLOG / C#
Ну
источник

rr

razumovsky r in CODE BLOG / C#
а когда от Б ты вернешь А — это контравариантность
источник

S

Sergey Trofimov in CODE BLOG / C#
и ?)
источник