C# - Generische Methode, kann nicht implizit konvertiert

Habe ich den folgenden code:

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;
}

- Und das ist der Fehler den ich erhalte: Cannot implicitly convert type 'Test.Cars' to 'T'

Was vermisse ich hier? Alle Auto-Typen implementieren das ICar-Schnittstelle.

Dank

InformationsquelleAutor MeTitus | 2012-04-07
Schreibe einen Kommentar