C # adicionando conversões implícitas a tipos existentes

Existe uma maneira em c # para adicionarimplícito conversões para tipos já definidos em outros assemblies?

Por exemplo, se eu estiver usando dois conjuntos diferentes, cada um com seus própriosVector3 struct, e usá-lo em suas APIs, seria bom poder definir uma conversão uma vez e depois passar umFoo.Vector3 para um método que espera umaBar.Vector3e tê-loautomaticamente convertido.

Se eu tivesse a fonte das bibliotecas, poderia adicionar operadores de conversão implícitos. Sem essa fonte, atualmente estou fazendo a conversão explicitamente eu mesma com uma função auxiliar todas as vezes. Estou esperando uma maneira melhor.

Eu percebo que eu poderia criar o meu próprioVector3 struct com operadores de conversão implícitos de e para as outras duas estruturas, mas isso não resolveria todos os casos em que eu querodiretamente passar um objeto de um tipo (definido externamente) para um método que espera o outro.

Pergunta bônus: existe alguma coisa que os autores de bibliotecas que expõem coisas como uma estrutura Vector3 em sua API devam fazer para facilitar a facilidade de uso nesse sentido?

questionAnswers(2)

yourAnswerToTheQuestion