Inoltro del tipo (C++/CLI)
L'inoltro dei tipi consente di immettere un tipo da un assembly (assembly A) in un altro assembly (assembly B), quale, non è necessario ricompilare i client che utilizzano l'assembly A.
Tutte le piattaforme
Questa funzionalità non è supportata in tutti i runtime.
Finestre runtime
Questa funzionalità non è supportata in Windows Runtime.
Requisiti
Opzione del compilatore: /ZW
Common Language Runtime
Nell'esempio di codice seguente viene illustrato come utilizzare l'inoltro di tipi.
Sintassi
#using "new.dll"
[assembly:TypeForwardedTo(type::typeid)];
Parametri
new
L'assembly in cui si sta spostando la definizione del tipo.type
La definizione del tipo di cui si desidera spostare in un altro assembly.
Note
Dopo aver viene fornito di un componente (assembly) e viene utilizzata dalle applicazioni client, è possibile utilizzare l'inoltro di tipi per spostare un tipo dal componente (assembly) in un altro assembly, forniscono il componente aggiornata (e qualsiasi assembly aggiuntivi necessari) e le applicazioni client potranno comunque essere eseguite senza essere ricompilato.
Tipo che inoltra è supportata solo per i componenti fare riferimento a esse da applicazioni esistenti.Quando si ricompila un'applicazione, è necessario che i riferimenti ad assembly appropriati per i tipi utilizzati nell'applicazione.
Per inviare un tipo (digitare A) in un assembly, è necessario aggiungere l'attributo di TypeForwardedTo per quel tipo nonché un riferimento a un assembly.L'assembly che fatto riferimento contiene una delle seguenti operazioni:
La definizione di tipo Di.
Un attributo di TypeForwardedTo per tipo A nonché un riferimento a un assembly.
Esempi di tipi che possono essere inviati includono:
classi di riferimento
classi di valore
le enumerazioni
interfacce
Non è possibile inoltrare i seguenti tipi:
Tipi generici
Tipi nativi
Tipi annidati (se si desidera inoltrare un tipo annidato, è necessario inviare il tipo di inclusione)
È possibile inoltrare un tipo in un assembly creato in qualsiasi linguaggio che puntano a Common Language Runtime.
Pertanto, se un file di codice sorgente che viene utilizzato per compilare l'assembly A.dll contiene una definizione di tipo (ref class MyClass) e si desiderava per spostare la definizione del tipo all'assembly B.dll, è possibile:
Spostare la definizione del tipo di MyClass in un file di codice sorgente utilizzato per compilare B.dll.
Compilare l'assembly B.dll
Eliminare la definizione del tipo di MyClass dal codice sorgente utilizzato per compilare A.dll e sostituirlo con quanto segue:
#using "B.dll" [assembly:TypeForwardedTo(MyClass::typeid)];
Compilare l'assembly A.dll.
Utilizzare Estensioni senza ricompilare le applicazioni client.
Requisiti
Opzione del compilatore: /clr