2010-03-19 7 views
8

En utilisant aliasing d'importation dans un fichier/classe, nous pouvons référencer les espaces de noms de bibliothèque de classe en attribuant notre propre alias personnalisé comme celui-ci:mondial Import/utilisant Aliasing dans .NET

' VB 
Imports Db = Company.Lib.Data.Objects 

// C# 
using Db = Company.Lib.Data.Objects; 

Et nous sommes en mesure de faire référence à la classes à l'intérieur de Company.Lib.Data.Objects en utilisant l'alias Db que nous avons attribué.

Est-il possible de le faire au niveau mondial afin que l'alias est appliqué à la totalité de la solution au lieu d'un seul fichier/classe?

Actuellement, nous travaillons avec des applications web, j'espérais pouvoir ajouter quelque chose à web.config, mais je suis également intéressé de savoir si cela est possible avec des formulaires Windows, des applications console et/ou des bibliothèques de classes .

+1

Si vous vous demandez, la bibliothèque de classes en question a une appellation ambiguë des classes, ce qui a causer quelques ennuis à nous. Donc, nous voulons essentiellement le diviser en trois sections en utilisant Importer un alias. Et nous voulons le faire au niveau mondial, plutôt que d'ajouter cela à tous les fichiers. S'il y a un meilleur moyen, je suis tout ouïe! –

Répondre

17

Oui, ce scénario est pris en charge dans les projets VB.NET. La façon de faire est la suivante

  • Cliquez droit sur le projet dans l'Explorateur de solutions et sélectionnez Propriétés
  • Aller à l'onglet Références
  • Dans le « espaces de noms importés » type de champ « Db = Company.Lib .Data.Objects »
  • Hit « Ajouter un utilisateur Importer »

Cela crée l'alias pour tous les fichiers du projet.

Cela ne fonctionne pas dans les projets C#. C# en tant que langage n'a pas le concept d'un global utilisant/import. Au lieu de cela, il ne les prend en charge qu'au niveau du fichier.

+0

+1 - réponse complète. –

+1

Génial! Nous utilisons VB.NET exclusivement (ne riez pas!), Donc c'est bien. Mais, cela fonctionne-t-il dans "Sites Web" ou seulement "Projets"? –

+1

@Josh la plupart de mon travail consiste à travailler sur l'IDE VB.Net donc pas de rire ici. Cela ne fonctionnera que sur les applications Web. Je ne crois pas que cela fonctionnera pour les sites Web car ils n'ont pas la notion d'une construction globale. – JaredPar

2

Dans votre fichier web.config pour votre site Web - ou fichier app.config le plus probable pour un projet (non confirmé)

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> 
     <namespaces> 
      <clear/> 
      <add namespace="System"/> 
      <add namespace="System.Collections"/> 
      <add namespace="System.Collections.Specialized"/> 
      <add namespace="System.Configuration"/> 

tout ce que vous mettez dans cette section devrait être un remplacement valable pour les importations clause sur le haut de votre code derrière les pages. des merveilles pour moi, laissez-moi savoir si cela vous aide à

+0

Mais j'ai besoin aliasing ... question a déjà été répondu, mais merci quand même –

+1

@JoshStodola Soit dit en passant, je fait quelques tests et cette technique peut fonctionner avec des alias - _vis-à-vis_: ''. –

+0

Est-ce que cela fonctionne également en C#? Je vais devoir l'essayer! –

Questions connexes