¿Hay alguna manera en C# de agregar conversiones implícitas a tipos ya definidos en otros ensamblados?C# agregando conversiones implícitas a los tipos existentes
Por ejemplo, si estoy utilizando dos ensamblajes diferentes que cada uno proporciona su propio Vector3 struct
y lo uso en sus API, sería bueno poder definir una conversión una vez, y luego pasar un Foo.Vector3
a un método que espera un Bar.Vector3
y lo tiene convertido automáticamente.
Si tuviera el origen de las bibliotecas, 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 siempre. Estoy esperando una manera más agradable.
que se dan cuenta de que podía crear mi propia Vector3 struct
con los operadores de conversión implícitas hacia y desde las otras dos estructuras, pero esto no resolvería todos los casos en los que quiero directamente pasar un objeto de un (definido externamente) tipo a un método esperando el otro.
Pregunta extra: ¿hay algo que los autores de bibliotecas que exponen cosas como una estructura Vector3 en su API deberían hacer para facilitar la facilidad de uso en este sentido?
operadores de extensión .. Me encanta :) – nawfal