C # agregando conversiones implícitas a tipos existentes

¿Hay alguna manera en C # para agregarimplícito conversiones a tipos ya definidos en otros ensamblajes?

Por ejemplo, si estoy usando dos ensamblajes diferentes que cada uno proporciona su propioVector3 structy usarlo en sus API, sería bueno poder definir una conversión una vez, y luego simplemente pasar unFoo.Vector3 a un método que espera unBar.Vector3y tenerloautomáticamente convertido.

Si tuviera la fuente de las bibliotecas, entonces podría agregar operadores de conversión implícitos. Sin esa fuente, actualmente estoy haciendo la conversión explícitamente con una función auxiliar cada vez. Espero una mejor manera.

Me doy cuenta de que podría crear el míoVector3 struct con operadores de conversión implícitos hacia y desde las otras dos estructuras, pero esto no resolvería todos los casos en los que quierodirectamente pasar un objeto de un tipo (definido externamente) a un método que espera el otro.

Pregunta extra: ¿hay algo que los autores de bibliotecas que expongan cosas como una estructura Vector3 en su API deberían hacer para facilitar su uso a este respecto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta