blob: c927dc465b979917e5057b1df84286735d8fb1ef (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
class BaseGeneric<T>
{
public class InnerDerived
{
public InnerDerived (T t)
{
}
}
public class GenericInnerDerived<U>
{
public GenericInnerDerived (T t, U u)
{
}
}
}
class BaseConcrete : BaseGeneric<string>
{
}
class Concrete_A : BaseGeneric<int>
{
}
class Concrete_B : BaseConcrete
{
InnerDerived foo1;
}
class BaseGeneric_2<T, U>
{
public class InnerDerived
{
public InnerDerived (T t, U u)
{
}
}
}
class BaseGeneric_1<T> : BaseGeneric_2<T, string>
{
}
class Concrete_2 : BaseGeneric_1<bool>
{
}
class Program
{
public static void Main ()
{
new Concrete_B.InnerDerived ("abc");
new Concrete_A.InnerDerived (11);
new Concrete_A.GenericInnerDerived<int> (1, 2);
new Concrete_2.InnerDerived (false, "bb");
}
}
|