Приведение строки к универсальному типу, который является строкой

Я пишу метод для интеллектуального преобразования типов - с использованием ToString (), если параметр типа является строкой, в противном случае приведение, но возвращающее нуль, если приведение не работает. В основном получает как можно больше информации изv это может без исключения.

Я проверяю этоT действительноstring прежде чем я попробую приведение, но компилятор все еще не фанат:

Cannot convert type 'string' to 'T'

И вот мой метод:

public T? Convert<T>(object v)
{
    if (typeof(T) == typeof(string)) {
    return (T)v.ToString(); // Cannot convert type 'string' to 'T'  
    } else try {
      return (T)v;
    } catch (InvalidCastException) {
    return null;
    }
}

Также дайте мне знать, если это какой-то непростительный грех. Я использую его для работы с некоторыми структурами данных, которые могут иметь смешанные типы.

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

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