Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'inoltro del tipo consente di spostare un tipo da un assembly (assembly A) a un altro assembly (assembly B) in modo che non sia necessario ricompilare i client che fanno uso dell'assembly A.
Windows Runtime
Questa funzionalità non è supportata in Windows Runtime.
Common Language Runtime
L'esempio di codice seguente illustra come usare l'inoltro del tipo.
Sintassi
#using "new.dll"
[assembly:TypeForwardedTo(type::typeid)];
Parametri
Nuovo
Assembly in cui si sta spostando la definizione del tipo.
type
Tipo la cui definizione si sta spostando in un altro assembly.
Osservazioni:
Dopo che un componente (assembly) viene fornito e usato dalle applicazioni client, è possibile usare l'inoltro del tipo per spostare un tipo dal componente (assembly) in un altro assembly e fornire il componente aggiornato (e qualsiasi assembly aggiuntivo richiesto) e le applicazioni client continueranno a funzionare senza necessità di ricompilazione.
L'inoltro del tipo funziona solo per i componenti a cui fanno riferimento applicazioni esistenti. Quando si ricompila un'applicazione, devono esserci i riferimenti agli assembly appropriati per tutti i tipi usati nell'applicazione.
Quando si inoltra un tipo (tipo A) da un assembly, è necessario aggiungere l'attributo TypeForwardedTo per tale tipo, nonché un riferimento a un assembly. L'assembly cui si fa riferimento deve contenere uno degli elementi seguenti:
La definizione per il tipo A.
Un attributo
TypeForwardedToper il tipo A, nonché un riferimento a un assembly.
Ecco alcuni tipi che è possibile inoltrare:
classi di riferimento
classi di valore
enum
interfaces
Non è possibile inoltrare i tipi seguenti:
Tipi generici
Tipi nativi
Tipi annidati (se si vuole inoltrare un tipo annidato, è necessario inoltrare il tipo che lo contiene)
È possibile inoltrare un tipo a un assembly creato in qualsiasi linguaggio destinato a Common Language Runtime.
Se quindi un file di codice sorgente usato per creare l'assembly A.dll contiene una definizione di tipo (ref class MyClass) e si vuole spostare tale definizione di tipo nell'assembly B.dll, è necessario:
Spostare la definizione del tipo
MyClassin un file di codice sorgente usato per compilare B.dll.Compilare l'assembly B.dll.
Eliminare la definizione del tipo
MyClassdal codice sorgente usato per compilare A.dll e sostituirla con quanto segue:#using "B.dll" [assembly:TypeForwardedTo(MyClass::typeid)];Compilare l'assembly A.dll.
Usare A.dll senza ricompilare le applicazioni client.
Requisiti
Opzione del compilatore: /clr