Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous devrez peut-être référencer deux versions d’assemblys qui ont les mêmes noms de types complets. Par exemple, vous devrez peut-être utiliser deux versions ou plus d’un assembly dans la même application. À l’aide d’un alias d’assembly externe, les espaces de noms de chaque assembly peuvent être encapsulés dans des espaces de noms de niveau racine nommés par l’alias, ce qui leur permet d’être utilisés dans le même fichier.
Remarque
Le mot clé extern est également utilisé comme modificateur de méthode, déclarant une méthode écrite dans du code non managé.
Pour référencer deux assemblys avec les mêmes noms de types complets, un alias doit être spécifié à l’invite de commandes, comme suit :
/r:GridV1=grid.dll
/r:GridV2=grid20.dll
Cela crée les alias GridV1 externes et GridV2. Pour utiliser ces alias à partir d’un programme, référencez-les à l’aide du extern mot clé. Par exemple:
extern alias GridV1;
extern alias GridV2;
Chaque déclaration d’alias extern introduit un espace de noms de niveau racine supplémentaire qui est parallèle (mais qui ne se trouve pas dans) l’espace de noms global. Ainsi, les types de chaque assembly peuvent être référencés sans ambiguïté à l’aide de leur nom complet, rooté dans l’alias d’espace de noms approprié.
Dans l’exemple précédent, GridV1::Grid il s’agirait du contrôle de grille à grid20.dllpartir duquel grid.dllGridV2::Grid il s’agirait du contrôle de grille.
Utilisation de Visual Studio
Si vous utilisez Visual Studio, les alias peuvent être fournis de manière similaire.
Ajoutez une référence de grid.dll et degrid20.dll à votre projet dans Visual Studio. Ouvrez un onglet de propriété et modifiez les alias de global en GridV1 et GridV2 respectivement.
Utilisez ces alias de la même façon ci-dessus
extern alias GridV1;
extern alias GridV2;
Vous pouvez maintenant créer un alias pour un espace de noms ou un type à l’aide de la directive alias. Pour plus d’informations, consultez la directive using.
using Class1V1 = GridV1::Namespace.Class1;
using Class1V2 = GridV2::Namespace.Class1;
Spécification du langage C#
Pour plus d'informations, voir la spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.