2008-09-14 14 views
19

Este es el problema, usted incluye múltiples ensambles y agrega 'using namespaceX' en la parte superior de su archivo de código.
Ahora desea crear una clase o usar un símbolo que se define en varios espacios de nombres, p. System.Windows.Controls.Image & System.Drawing.Image¿Cómo se resuelve el espacio de nombres .Net entra en conflicto con la palabra clave 'using'?

Ahora a menos que utilice el nombre completo, habrá una cuna/construir el error debido a la ambigüedad a pesar de la derecha 'utilizar' las declaraciones en la parte superior. ¿Cuál es la salida aquí?

(Otro post base de conocimientos .. he encontrado la respuesta después de unos 10 minutos de búsqueda, porque no sabía la palabra clave correcta para buscar)

+0

A medida que el aceptado respuesta declarada, use alias pero intente que se consista en toda la base de código (solo un alias para un espacio de nombres/clase y deberían ser fáciles de distinguir). – kokos

Respuesta

28

Uso de alias

using System.Windows.Controls; 
using Drawing = System.Drawing; 

... 

Image img = ... //System.Windows.Controls.Image 
Drawing.Image img2 = ... //System.Drawing.Image 

How to: Use the Namespace Alias Qualifier (C#)

+0

Eliminando mi respuesta para reducir el desorden. 'Namespace Alias ​​Qualifier': ahora ese nombre es algo que nunca hubiera imaginado usar como palabra clave de búsqueda. :) – Gishu

+0

Sí, es un muy buen ejemplo de la violación del Principio de Responsabilidad Individual. Pero es muy divertido mostrarlo a sus colegas y escuchar "¡¡¡Wow !, FTW ?!" – aku

5

Esta página tiene una muy buena descripción de los espacios de nombres y la instrucción using:

http://www.blackwasp.co.uk/Namespaces.aspx

desea leer la parte de "Alias ​​Creación" que le permitirá hacer un alias para uno o ambos de los espacios de nombres y hacer referencia a ellos con eso así:

using ControlImage = System.Windows.Controls.Image; 
using System.Drawing.Image; 

ControlImage.Image myImage = new ControlImage.Image(); 
myImage.Width = 200; 
Cuestiones relacionadas