Como pesquisar e chamar um .Net TypeConverter para um tipo específico?

Gostaria de implementar uma função de conversão de tipo de tempo de execução de uso geral que use. Net TypeConverters para fazer a conversã

lguém sabe como procurar e chamar um TypeConverter para um tipo específic

Considere este exemplo de C #:

//
// Convert obj to the type specified by 'toType'.
// 
object ConvertTo(object obj, Type toType)
{
    if (TypeIsEqualOrDerivesFrom(obj.GetType(), toType)) <-- I know how to implement this.
    {
        // The type of obj is the same as the type specified by 'toType' or
        // the type of obj derives from the type specified by 'toType'.
        return obj;
    }

    if (TypeConverterExists(obj.GetType(), toType) <-- How do I implement this?
    {
        // There exists a type convertor that is capable of converting from 
        // the type of obj to the type specified by 'toType'.
        return InvokeTypeConverter(obj, toType); <-- How do I implement this?
    }

    throw new TypeConversionFailedException();
}

questionAnswers(8)

yourAnswerToTheQuestion