Я нацелен на .NET 3.5. Допустим, у меня есть класс Боб, который является абстрактным базовым классом для SubBob.
Я могу объявить это:
Bob b = new SubBob();
Но я не могу этого сделать:
// compliation error - can't convert
BindingList<Bob> myList = new BindingList<SubBob>();
Я предполагаю, что BindingList не хочет вас чтобы сделать это, потому что он должен знать, что тип, который находится справа, имеет то же расположение памяти, что и левая сторона. SubBob может иметь больший размер, чем Bob.
Есть ли способ выполнить неявное преобразование, или требуется ли приведение?