programacion asp net

Sorteo Libros Krasis Press
 
Enviar a un amigo Imprimir Texto sin justificar Texto justificado Letra pequeña Letra mediana Letra grande
buscar 
novedades
Recibe las ultimas noticias y los mejores articulos en tu email
Secciones
 • .NET Framework
 • ADO .NET
 • Ajax
 • Asp .NET
 • Biztalk
 • C#
 • Commerce Server
 • Exchange
 • IIS
 • Metodologías
 • J#
 • Móviles
 • Office
 • Reporting Services
 • Seguridad
 • Servicios Web
 • Sharepoint
 • Silverlight
 • SQL Server
 • Visual Basic .NET
 • Visual C++ .NET
 • Visual Studio
 • WCF
 • Windows
 • WinFX
 • Workflow Foundation
 • WPF
 • XAML
 • XML
 • Dynamics
 • Libros
 • Noticias
 • Articulos
 • Webcast
 • Tutoriales
 • Eventos
 • Cursos
 • Ofertas Empleo
 • RSS
Contacto
¿Quieres saber quien es el creador de Clikear?
Weblogfree.com, crea tu propio blog facilmente, gratis y en español
Dotnetsolidario, ayuda al tercer mundo a traves de las tecnologias de la informacion
 
 

Tutorial C#

Espacio de nombres distribuidos

 

Si hacemos varias definiciones de un espacio de nombres en un mismo fichero o en diferentes y se compilan todas juntas, el compilador las fusionará en una sola definición cuyos miembros serán la concatenación de los miembros definidos en cada  una de las definiciones realizadas. Por ejemplo:

 

namespace A   // (1)

{

class B1 {}

}

 

namespace A    // (2)

{

class B2 {}

}

 

Hacer una definición como la anterior es tratada por el compilador exactamente igual que si se hubiese hecho:

 

namespace A
            {

class B1 {}

class B2 {}

}

 

Lo mismo ocurriría si las definiciones marcadas como (1) y (2) se hubiesen hecho en ficheros separados que se compilasen conjuntamente.

 

Hay que tener en cuenta que las sentencias using,  ya sean de importación de espacios de nombres o de definición de alias, no son consideradas miembros de los espacios de nombres y por tanto no participan en sus fusiones. Así, el siguiente código es inválido:

 

namespace A

{

class ClaseA {}

}

 

namespace B

{          

using A;

}

 

namespace B

{

// using A;

class Principal: ClaseA {}

}

 

Este código no es válido debido a que aunque se importa el espacio de nombres A al principio de una definición del espacio de nombres donde se ha definido Principal, no se importa en la definición en donde se deriva Principal de A.ClaseA. Para que todo funcionase a la perfección habría que descomentar la línea comentada en el ejemplo.



 

Principal
Recomendado