viernes, 19 de septiembre de 2014

1.4 Namespaces

La palabra clave namespace se utiliza para declarar un ámbito que contiene un conjunto de objetos relacionados. Puede utilizar un espacio de nombres para organizar elementos de código y crear tipos globales únicos.
C#


namespace SampleNamespace

{
    class SampleClass { }

    interface SampleInterface { }


    struct SampleStruct { }


    enum SampleEnum { a, b }


    delegate void SampleDelegate(int i);


    namespace SampleNamespace.Nested

    {
        class SampleClass2 { }
    }
}


Comentarios

Dentro de un espacio de nombres, se pueden declarar uno o varios de los siguientes tipos:
otro espacio de nombres
class
interface
struct
enum
delegate
Declare o no explícitamente un espacio de nombres en un archivo de código fuente de C#, el compilador agrega un espacio de nombres predeterminado. Este espacio de nombres sin denominación, a veces se hace referencia a él como espacio de nombres global, está presente en todos los archivos. Cualquier identificador del espacio de nombres global puede utilizarse también en un espacio de nombres declarado.
Los espacios de nombres disponen implícitamente de un acceso público que no puede modificarse. Para obtener una descripción de los modificadores de acceso que se pueden asignar a los elementos de un espacio de nombres, vea Modificadores de acceso (Referencia de C#).
Un espacio de nombres se puede definir en dos o más declaraciones. Por ejemplo, en el siguiente ejemplo se definen dos clases como parte del espacio de nombres MyCompany:
C#

namespace MyCompany.Proj1

{
    class MyClass
    {
    }
}

namespace MyCompany.Proj1

{
    class MyClass1
    {
    }
}


Ejemplo

El siguiente ejemplo muestra cómo realizar una llamada a un método estático en un espacio de nombres anidado.
C#

namespace SomeNameSpace

{
    public class MyClass
    {
        static void Main()
        {
            Nested.NestedNameSpaceClass.SayHello();
        }
    }

    // a nested namespace

    namespace Nested  
    {
        public class NestedNameSpaceClass
        {
            public static void SayHello()
            {
                Console.WriteLine("Hello");
            }
        }
    }
}
// Output: Hello

No hay comentarios:

Publicar un comentario