Тип возврата универсального метода

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

public static T Foo<T>(string value)
{
    if (typeof(T) == typeof(String))
        return value;

    if (typeof(T) == typeof(int))
        return Int32.Parse(value);

    // Do more stuff
}

Я вижу, что компилятор может пожаловаться на это ( «Не удается преобразовать тип 'String 'to' T '"), даже если код не должен вызывать никаких логических ошибок во время выполнения. Есть ли способ добиться того, что я ищу? Приведение не помогает ...

11
задан Christian Rygg 21 February 2011 в 12:04
поделиться