C#Общий метод, невозможно неявное преобразование

У меня есть следующий код:

public static T GetCar<T>() where T : ICar
{
    T objCar = default(T);

    if (typeof(T) == typeof(SmallCar)) {
        objCar = new SmallCar("");
    } else if (typeof(T) == typeof(MediumCar)) {
        objCar = new MediumCar("");
    } else if (typeof(T) == typeof(BigCar)) {
        objCar = new BigCar("");
    }

    return objCar;
}

И это ошибка, которую я получаю:Cannot implicitly convert type 'Test.Cars' to 'T'

Что я здесь пропустил? Все типы автомобилей реализуют интерфейс ICar.

Спасибо

8
задан Avi Turner 1 November 2016 в 12:10
поделиться