Transfert de type (C++/CLI)
Le transfert de type vous permet de déplacer un type d'un assembly (assembly A) dans un autre assembly (assembly B), tel que, il n'est pas nécessaire de recompiler les clients qui utilisent l'assembly A.
Toutes les plateformes
Cette fonctionnalité n'est pas prise en charge par tous les runtimes.
Fenêtres d'exécution
Cette fonctionnalité n'est pas prise en charge dans Windows Runtime.
Configuration requise
Option du compilateur : /ZW
Common Language Runtime
l'exemple de code suivant montre comment utiliser le transfert de type.
Syntaxe
#using "new.dll"
[assembly:TypeForwardedTo(type::typeid)];
Paramètres
new
l'assembly dans lequel vous déplacez la définition de type.type
La définition de type dont vous déplacez dans un autre assembly.
Remarques
Une fois les fourni d'un composant (assembly) et sont utilisés par les applications clientes, vous pouvez utiliser le transfert de type pour déplacer un type dans le composant (assembly) dans un autre assembly, fournis le composant mis à jour (ainsi que les assemblys supplémentaires requis), et des applications clientes continueront de fonctionner sans être recompilé.
Le type en transférant fonctionne uniquement pour les composants référencés par les applications existantes.Lorsque vous reconstruisez une application, il doit y avoir des références d'assembly appropriées pour tous les types utilisés dans l'application.
En transférant un type (le type A) d'un assembly, vous devez ajouter l'attribut d' TypeForwardedTo pour ce type, ainsi qu'une référence d'assembly.L'assembly que vous référencez doit contenir un des éléments suivants :
La définition du type A.
Un attribut d' TypeForwardedTo pour le type A, ainsi qu'une référence d'assembly.
Les exemples des types pouvant être envoyés incluent :
classes de référence
classes de valeur
enums
interfaces
Vous ne pouvez pas transférer les types suivants :
Types génériques
Types natifs
Types imbriqués (si vous souhaitez transférer un type imbriqué, vous devez transférer le type englobant)
Vous pouvez transférer un type à un assembly créé dans tout langage ciblant le common langage runtime.
Ainsi, si un fichier de code source qui est utilisé pour générer l'assembly A.dll contient une définition de type (ref class MyClass), et vous a souhaité déplacer cette définition de type à l'assembly B.dll, vous :
Déplacez la définition de type d' MyClass à un fichier de code source utilisé pour générer B.dll.
Assembly B.dll de génération
Supprimez la définition de type d' MyClass de code source utilisé pour générer A.dll, et remplacez -le par ce qui suit :
#using "B.dll" [assembly:TypeForwardedTo(MyClass::typeid)];
Assembly A.dll de génération.
Utilisation d'A.dll sans recompiler les applications clientes.
Configuration requise
Option du compilateur : /clr