2010-03-19 5 views
8

El uso de alias en un archivo de importación/clase, podemos hacer referencia a los espacios de nombres biblioteca de clases mediante la asignación de nuestro propio alias personalizado como este:Global de Importación/Aliasing utilizando en .NET

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

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

Y entonces somos capaces de hacer referencia a la clases dentro de Company.Lib.Data.Objects usando el alias Db que le asignamos.

¿Es posible hacerlo a nivel global para que el alias se aplique a toda la solución en lugar de a un solo archivo/clase?

Actualmente, estamos trabajando con aplicaciones web, así que esperaba poder agregar algo a web.config, pero también me interesa saber si esto es posible con formularios de Windows, aplicaciones de consola y/o bibliotecas de clases .

+1

En caso de que se lo pregunte, la biblioteca de clases en cuestión tiene un nombre ambiguo de clases, y esto nos ha causado algunas molestias. Entonces, esencialmente queremos dividirlo en tres secciones usando Importar aliasing. Y queremos hacerlo a nivel global, en lugar de agregar esto a cada archivo. Si hay una mejor manera, ¡soy todo oídos! –

Respuesta

17

Sí, este es un escenario admitido en proyectos VB.Net. La forma de hacerlo es la siguiente

  • clic derecho sobre el proyecto en el Explorador de soluciones y seleccione Propiedades
  • Ir a la pestaña Referencias
  • En el "importados espacios de nombres" tipo de campo "Db = Company.Lib .Data.Objects"
  • Hit 'Añadir importación de usuarios'

Esto configurará el alias para todos los archivos del proyecto.

Sin embargo, esto no funciona en proyectos C#. C# como idioma no tiene el concepto de uso/importación global. En cambio, solo los admite en el nivel de archivo.

+0

+1 - respuesta completa. –

+1

¡Impresionante! Usamos VB.NET exclusivamente (¡no te rías!), Así que está bien. Pero, ¿funciona esto en "Sitios web" o solo "Proyectos"? –

+1

@Josh la mayor parte de mi trabajo implica trabajar en el IDE de VB.Net, así que no me río aquí. Esto solo funcionará en aplicaciones web. No creo que funcione para sitios web ya que no tienen la idea de una construcción global. – JaredPar

2

En el archivo web.config de su sitio web - o archivo app.config más probable para un proyecto (no confirmado)

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

cualquier cosa que se pone en esta sección debe ser un sustituto válido para las importaciones cláusula en la parte superior de su código detrás de las páginas. Trabajó maravillas para mí, avíseme si le ayuda

+0

Pero necesito aliasing ... la pregunta ya ha sido respondida, pero gracias de todos modos –

+1

@JoshStodola Incidentalmente, hice algunas pruebas y esta técnica puede funcionar con alias - _vis-à-vis_: ''. –

+0

¿Esto también funciona en C#? ¡Tendré que probarlo! –

Cuestiones relacionadas