¿Cómo puedo pasar una función con un parámetro de tipo genérico?

Me gusta enviar una función de convertidor de tipo genérico a un método, pero no puedo averiguar cómo hacerlo.

Aquí hay una sintaxis no válida que explica lo que me gusta lograr, el problema es que no sé cómo especificar el tipo genérico junto con mi función:

public void SomeUtility(Func<T><object,T> converter)
{
    var myType = converter<MyType>("foo");
}

Editar (vea también mi discusión en los comentarios con Lawrence): Por "convertidor de tipo genérico" quise decir que me gustaría pasar un convertidor que pueda convertir a cualquier tipo fuerte <T> (no objeto), por lo que la siguiente línea en mi El método podría ser:

var myOtherType = converter<MyOtherType>("foo");

El delegado al que me gusta pasar como parámetro se vería así:

private delegate TOutput myConverterDelegate<TOutput>(object objectToConvert);

Esto es más una exploración de sintaxis / C # ahora, para hacer las cosas probablemente use una interfaz en su lugar, pero espero que esto sea posible con una función / delegado.

Respuestas a la pregunta(4)

Su respuesta a la pregunta