C#:
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
| using System.Collections.Generic; namespace ClassLibrary1 { public class Class1 { public A AnA { get; set; } public A[] AnAArray { get; set; } public List<A> AListOfA { get; set; } public Class1() { AnA = new A(); AnA = new B(); AnAArray = new[] { new A(), new B(), new A() }; AnAArray = new[] { new B(), new B(), new B() }; AListOfA = new List<A> {new B()}; AListOfA = new List<B>(); } public class A{} public class B : A {} } } |
Ik krijg een fout op:
C#:
1
| AListOfA = new List<B>(); |
Waarom mag de rest wel, en snapt .NET niet dat een List<B> alleen maar elementen bevat die in ieder geval A als basisklasse hebben, en het dus eigenlijk een lijst van <A> elementen is?