Outro dia me apresentaram o código abaixo com um dúvida bem boba. Esse código em C# abusa um pouco de uma das novidades da última revisão da linguagem, tipos genéricos variantes. Vamos ao código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
interface A<in B> { }
interface B<in A> { }
class X : A<B<X>> { }
class Y : B<A<Y>> { }
class Test
{
static void Main [...]