TryParse Обнуляемые типы, как правило, [дубликаты]

На этот вопрос уже есть ответ:

Преобразовать строку в обнуляемый тип (int, double и т. Д.) 16 ответов Обобщения и обнуляемый тип 7 ответов

Я написал перегруженный статическийTryParse методы для следующегоNullable типы:int?, short?, long?, double?, DateTime?, decimal?, float?, bool?, byte? а такжеchar?. Ниже приведена часть реализации:

protected static bool TryParse(string input, out int? value)
{
    int outValue;
    bool result = Int32.TryParse(input, out outValue);
    value = outValue;
    return result;
}

protected static bool TryParse(string input, out short? value)
{
    short outValue;
    bool result = Int16.TryParse(input, out outValue);
    value = outValue;
    return result;
}

protected static bool TryParse(string input, out long? value)
{
    long outValue;
    bool result = Int64.TryParse(input, out outValue);
    value = outValue;
    return result;
}

Логика одинакова во всех методах, за исключением того, что они используют разные типы. Разве нельзя было бы использовать дженерики, чтобы мне не нужно было так много избыточного кода? Подпись будет выглядеть так:

bool TryParse<T>(string input, out T value);

Благодарност

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

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