Боюсь, что даже ответ на ваш бонусный вопрос «вы не можете».

ли способ в C # добавитьнеявный преобразования в типы, уже определенные в других сборках?

Например, если я использую две разные сборки, каждая из которых предоставляет своиVector3 structи использовать его в своих API, было бы неплохо иметь возможность определить преобразование один раз, а затем просто передатьFoo.Vector3 к методу, который ожидаетBar.Vector3и естьавтоматически преобразованный.

Если бы у меня был источник для библиотек, я мог бы добавить операторы неявного преобразования. Без этого источника в настоящее время я сам выполняю преобразование с помощью вспомогательной функции каждый раз. Я надеюсь на более хороший путь.

Я понимаю, что могу создать свой собственныйVector3 struct с неявными операторами преобразования в и из двух других структур, но это не решило бы все случаи, когда я хочунепосредственно передать объект одного (внешнего) типа методу, ожидающему другого.

Бонусный вопрос: есть ли что-то, что авторы библиотек, которые представляют такие вещи, как структура Vector3, в своих API должны делать для облегчения использования в этом отношении?

Ответы на вопрос(2)

Ваш ответ на вопрос