Универсальный TryParse

Я пытаюсь создать универсальное расширение, которое использует TryParse, чтобы проверить, является ли строка данного типа:

public static bool Is<T>(this string input)
{
    T notUsed;
    return T.TryParse(input, out notUsed);
}

это не скомпилируется, так как не может разрешить символ TryParse

Как я понимаю, «TryParse» не является частью какого-либо интерфейса.

Можно ли вообще это сделать?

Обновить:

Используя ответы ниже, я придумал:

public static bool Is<T>(this string input)
{
    try
    {
        TypeDescriptor.GetConverter(typeof(T)).ConvertFromString(input);
    }
    catch
    {
        return false;
    }

    return true;
}

Это работает довольно хорошо, но я думаю, что использование исключений таким образом не подходит мне.

Update2:

Изменен для передачи типа, а не для использования обобщений:

public static bool Is(this string input, Type targetType)
{
    try
    {
        TypeDescriptor.GetConverter(targetType).ConvertFromString(input);
        return true;
    }
    catch
    {
        return false;
    }
}

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

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