C'è un modo in C# per aggiungere conversioni implicite a tipi già definiti in altri assembly? Ad esempio, se sto utilizzando due assembly diversi ognuno dei quali fornisce il proprio Vector3 struct
e lo utilizza nelle sue API, sarebbe bello poter definire una conversione una volta e quindi passare semplicemente un Foo.Vector3
a un metodo quello si aspetta uno Bar.Vector3
e lo ha automaticamente convertito.C# aggiungendo conversioni implicite a tipi esistenti
Se avessi il sorgente per le librerie, potrei aggiungere operatori di conversione impliciti. Senza questa fonte, sto facendo la conversione esplicitamente con una funzione di aiuto ogni volta. Sto sperando in un modo migliore.
mi rendo conto ho potuto creare il mio Vector3 struct
con operatori di conversione implicita da e per gli altri due struct, ma questo non risolverebbe tutti i casi dove voglio direttamente passaggio un oggetto di una (definita esternamente) tipo a un metodo che aspetta l'altro.
domanda bonus: c'è qualche autore di librerie che espone cose come una struct Vector3 nella loro API dovrebbe fare per facilitare la facilità d'uso in questo senso?
gestori di interni .. Mi piace :) – nawfal