и предполагая, что вы используете C # 4.0, который ввел ковариацию и контравариантность, вы можете сделать это, избегая предложенных общих решений:

в стороне от наследства и мне нужно немного помочь.

У меня есть абстрактный базовый классChief, Есть два наследующих классаShip а такжеVehicle, которые разделяют несколько свойств черезChief.

У меня есть метод, который использует эти общие свойства:

public static void AssignRandomProperties(PSetList routeSettings, List<Chief> theChiefs)

но когда я пытаюсь передать

List<Ship> 

или

List<Vehicle> 

Мне сказали, что они не могут быть обращены. Вот пример вызова метода:

ChiefRouteRandomizer.AssignRandomProperties(s.Route, theVehicles);

Я предполагал, конечно, чтоList<Vehicle> будет рассматриваться какList<Chief> когда передается в качестве аргументаAssignRandomPropertiesно, видимо, нет. Нужно ли преобразовывать список вList<Chief> первый? Если да, то как?

Ответы на вопрос(0)

Ваш ответ на вопрос