No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
12 Hrs
41 Min
23 Seg

¿Cómo funcionan los Namespaces en C#?

6/26
Recursos

Aportes 76

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

  • Namespace: Tiene que representar algo significativo para el programa, con un nombre único. Cada Namespace puede tener diferentes clases, tantas como requiera el programa.

  • Clases: Las clases son plantillas para crear entidades, tantas como se requiera. Cada clase puede tener diferentes métodos.

  • Métodos: La forma o manera de ejecutar funcionalidades del programa.

Hola, dejo por aquí mi diagrama como nos enseñó el profe la clase anterior! 😀

Los namespaces són útiles para hacernos escribir menos código, ya que cuando declaramos el:

using system

cuando invoquemos la sentencia de imprimir en consola lo podremos hacer de esta manera:

Console.WriteLine("Hola Mundo");

En vez de esta:

System.Console.WriteLine("");

En este artículo esta bien explicado: https://platzi.com/blog/namespace-en-c-sharp/

Los namespace son iguales a los paquetes de Java

Diagrama de C#


Reto realizando basándonos en la creación de un pequeño sistema de pasajero de una aerolínea.
 
namespace, class and method.
 

 

Archivo creado en Draw.io

 

Sigueme en GitHub

Aqui el mio 😄 /

Namespace -> organizador del programa
Class -> programa.
Metodo -> ejecucion del programa.

Namespaces

// Los Namespaces sirven para es

<Proyecto>
	// Mi proyecto puede contener varios Name Spaces
	// Según se estructure y convenga a mi proyecto
	// Cada Namespace es único y significativo para mi programa
	<Namespace_1>
		// Cada Name Space puede contener varios métodos
		<Class>
			// Cada método lleva a cabo una tarea
			method_1(){}
			         .
			         .
			         .
			method_h(){}
		</Class>
	</Namespace_1>
			.
			.
			.
	<Namespace_m>
		// Cada Name Space puede contener varios métodos
		<Class>
			// Cada método lleva a cabo una tarea
			method_1()
			         .
			         .
			         .
			method_k()
		</Class>
	</Namespace_m>
</Proyecto>

Los namespace declaran un ámbito para una serie de objetos relacionados.
.
Son utilizados para organizar elementos de nuestro código y crear tipos unicos de manera global

.

También podrías tener namespaces anidados en caso de ser necesarios.

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

Va mi aporte:

Un `namespace` en C# es un contenedor que se utiliza para organizar y agrupar clases, estructuras, interfaces, delegados y otros miembros relacionados de manera lógica y jerárquica dentro de un programa. Proporciona un mecanismo para evitar conflictos de nombres y para ayudar a mantener la modularidad y la claridad del código. Aquí hay algunos puntos importantes sobre los `namespace`: 1. **Organización del código**: Los `namespace` ayudan a organizar el código al agrupar elementos relacionados. Por ejemplo, puedes tener un `namespace` para todas las clases relacionadas con la manipulación de archivos, otro para la interfaz de usuario, y así sucesivamente. 2. **Prevención de conflictos de nombres**: Los `namespace` ayudan a evitar conflictos de nombres entre diferentes partes del código. Dos clases con el mismo nombre pueden coexistir siempre y cuando estén en `namespace` diferentes. 3. **Facilitan la reutilización de código**: Al organizar el código en `namespace` lógicos y coherentes, se facilita la reutilización del código en diferentes partes del proyecto o incluso en proyectos diferentes. 4. **Visibilidad y alcance**: Los miembros (clases, métodos, etc.) dentro de un `namespace` están disponibles para su uso dentro del mismo `namespace` y pueden ser accesibles desde fuera del `namespace` si se especifica correctamente.

NAMESPACE: DOCENTES, ESTUDIANTES
CLASS docentes: GestionListas, GestionNotas
CLASS estudiantes: GesionMaterias, GestionCursos
METHODS docentes: AddListas, UpdateNotas
METHODS estudiantes: AddCursos, UpdateMaterias
STATEMENTS docentes: NombreAlumno, Puntos
STATEMENTS estudiantes: NombreCurso, NombreMateria.

De la página oficial de Microsoft: La palabra clave** namespace** se usa para declarar un ámbito que contiene un conjunto de objetos relacionados. Puede usar un espacio de nombres para organizar los elementos de código y crear tipos únicos globales.

Mi diagramita 😃

Namespace: Estos son unicos con un nombre que no se puede repetir. Cada Namespace contiene las clases que necesita el programa

** Clases: **Las clases son plantillas para crear entidades, tantas como se requiera. Cada clase contiene los métodos que podria requerir el programa.

** Métodos:** son el conjuntos de instruciones para establecer las funciones del programa.

Mi mapita

Aquí está el reto

Namespaces y Clases en C#

  • NameSpace abarca a forma global(Tiene que ser unico)
    por ejemplo ingreso al sistema,validación carrito compra,compra.pago,etc.Dentro de los namespace puede existir las clases,podemos tener tantas clases como necesitemos.

  • Clase tienen Diferentes metodos,Statement.

**Un namespace o espacio de nombres ** es un medio para organizar clases dentro de un entorno, agrupándolas de un modo más lógico y jerárquico.
**Una clase **es una plantilla para crear objetos.
**Un objeto **es una instancia de una clase.
La clase puede tener un método initialize llamado constructor que se va a llamar cada vez que se cree un objeto de esa clase.
**El constructor **se utiliza generalmente para inicializar los atributos de los objetos.

Namespace: Los espacios de nombres son unicos que representan a un grupo de procesos relacionados dentro de nuestro programa
Clases: representan los conjuntos de objetos similares o caracteristicas comunes.
Metodos: Son las operaciones o procesos que realizan acciones especificas dentro de la aplicación y que son llamados desde cualquier parte del aplicativo depédiendo el tipo de visibilidad que este tenga.

Excelente explicación …

![](https://static.platzi.com/media/user_upload/image-6f080a44-93cb-4312-ac5e-fe16336f5927.jpg)

namespace : abarca de forma global unico , lago que lo identifique . dentro de un namespace hay clases y metodos son la formas de ejecutar funcionalidades de nuestro programa. statement donde se hacen o ejecutan acciones. cada clase tiene diferentes metodos y statement.

Entiendo que los namespaces son como los paquetes en python. Pero definiendose solamente en el código.

USANDO UN NAMESPACE DENTRO DE OTRO

Para llamar a un método de un namespace dentro de otro namespace en C#, primero debes agregar una directiva “using” en el archivo que está llamando al método para indicarle al compilador que deseas usar el namespace. Luego, puedes acceder al método utilizando la sintaxis del nombre completo de la clase, que incluye el nombre del namespace y el nombre de la clase.

Por ejemplo, si tienes un método llamado “Metodo1” en una clase llamada “Clase1” dentro de un namespace llamado “MiEmpresa.Utilidades”, y deseas llamar a ese método desde una clase en un namespace diferente llamado “MiEmpresa.Servicios”, podrías hacerlo de la siguiente manera:

// Agrega una directiva using para el namespace que contiene la clase y el método que deseas llamar
using MiEmpresa.Utilidades;

namespace MiEmpresa.Servicios
{
    public class Clase2
    {
        public void Metodo2()
        {
            // Crea una instancia de la clase que contiene el método
            Clase1 instanciaClase1 = new Clase1();
            
            // Llama al método utilizando la sintaxis del nombre completo de la clase
            instanciaClase1.Metodo1();
        }
    }
}

En este ejemplo, agregamos una directiva “using” para el namespace “MiEmpresa.Utilidades” en la parte superior de la clase “Clase2” que contiene el método “Metodo2”. Luego, creamos una instancia de la clase “Clase1” dentro de “Metodo2” y llamamos al método “Metodo1” utilizando la sintaxis del nombre completo de la clase.

Es importante tener en cuenta que, aunque puedes llamar a un método de un namespace dentro de otro namespace de esta manera, hacerlo en exceso puede hacer que tu código sea más difícil de mantener y entender. En general, es una buena práctica limitar el uso de nombres de espacio y mantener tu código organizado y modularizado para evitar confusiones y errores.

NAMESPACES ANIDADOS

En C#, puedes anidar un namespace dentro de otro simplemente especificando el namespace padre y el namespace hijo con un punto entre ellos. Aquí te muestro un ejemplo de cómo se vería un namespace anidado dentro de otro:

namespace MiEmpresa
{
    namespace Utilidades
    {
        public class ClaseUtilidades
        {
            // código de la clase
        }
    }
}

En este ejemplo, hay un namespace principal llamado “MiEmpresa” y un namespace anidado llamado “Utilidades” que contiene una clase llamada “ClaseUtilidades”. Al anidar namespaces de esta manera, puedes organizar tu código en módulos lógicos más pequeños y fáciles de entender.

También puedes usar la sintaxis de llaves para anidar namespaces, como se muestra a continuación:

namespace MiEmpresa {
    namespace Utilidades {
        public class ClaseUtilidades {
            // código de la clase
        }
    }
}

En este caso, el código es esencialmente el mismo que el ejemplo anterior, pero la sintaxis se escribió en una sola línea para hacerlo más legible.

Es importante tener en cuenta que anidar demasiados namespaces puede hacer que tu código sea más difícil de leer y mantener. Por lo tanto, es recomendable utilizar solo la cantidad necesaria de namespaces anidados para organizar tu código de manera clara y concisa.

CUÁNTOS NAMESPACES EN UN PROGRAMA?

En teoría, un programa C# puede tener tantos namespaces como sea necesario, sin embargo, es una buena práctica limitar la cantidad de namespaces en tu código y mantenerlos bien organizados.

La cantidad de namespaces que necesites dependerá de la complejidad de tu aplicación y la cantidad de módulos lógicos que necesites agrupar. En general, se recomienda utilizar un namespace para agrupar todas las clases y tipos relacionados con un módulo lógico específico, para que los nombres sean más fáciles de entender y los conflictos de nombres sean menos probables.

Es importante tener en cuenta que los namespaces también pueden tener jerarquías, lo que significa que puedes tener un namespace principal con subnamespaces que agrupan clases y tipos relacionados aún más. Por ejemplo, podrías tener un namespace principal llamado “MiEmpresa” y subnamespaces como “MiEmpresa.Utilidades”, “MiEmpresa.Servicios” y “MiEmpresa.Modelos”.

En resumen, no hay una cantidad máxima de namespaces que puedas tener en un programa C#, pero es importante mantenerlos organizados y limitarlos a los necesarios para evitar complicar la estructura del código.

¡Claro! En C#, un namespace es un contenedor de identificadores (como clases, interfaces, estructuras, enumeraciones, delegados y otros namespaces) que ayudan a evitar conflictos de nombres y organizar el código de una aplicación en módulos lógicos.

Los namespaces proporcionan una manera de agrupar lógicamente el código y darle un nombre, lo que permite a los programadores referirse a los elementos que contiene el namespace con un nombre descriptivo en lugar de un nombre genérico. Esto hace que sea más fácil para los programadores entender el propósito de un conjunto de clases o tipos relacionados.

Por ejemplo, en lugar de crear una clase llamada “Lista” en tu código, que podría entrar en conflicto con otra clase “Lista” creada por otra persona, podrías colocar la clase en un namespace llamado “MiEmpresa.Utilidades” para que su nombre completo sea “MiEmpresa.Utilidades.Lista”.

Para utilizar los elementos de un namespace en tu código, debes agregar una directiva using al principio de tu archivo fuente. Por ejemplo, si tienes una clase en un namespace llamado “MiEmpresa.Utilidades”, podrías agregar la directiva using al principio de tu archivo para que puedas usar la clase sin tener que escribir el nombre completo del namespace cada vez que lo utilices:

csharp
Copy code
using MiEmpresa.Utilidades;

public class MiClase
{
public void Metodo()
{
// Puedes usar la clase Lista sin escribir el nombre completo del namespace
Lista<string> miLista = new Lista<string>();
}
}

En resumen, los namespaces en C# son una herramienta de organización que te ayuda a agrupar lógicamente tu código, evitar conflictos de nombres y hacer tu código más fácil de entender y mantener.

Namespace Calculadora
{
Class Suma
metodo a + b
Class Resta
metodo a-b

}

aqui este

Para que un programa sea legible debe tener un orden o estructura, C# tiene su propia estructura o forma de ordenar un programa.

Imagina que la estructura es como una matrioshka, una muñeca va dentro de otra y así sucesivamente. La muñeca que lo envuelve todo es el NAMESPACE (ESPACIO DE NOMBRE), dentro de esta va otra muñeca llamada CLASS (CLASE) y dentro de esta va otra muñeca llamada MÉTHOD (MÉTODO) O STATEMENT (DECLARACIÓN), aunque también dentro de una muñeca METHOD puede haber un STATEMENT.

Una muñeca puede llevar adentro uno o más muñecas que a su vez pueden llevar una o más muñecas y así sucesivamente, es decir dentro de un NAMESPACE pueden haber uno o más CLASS y dentro de estas pueden haber uno o más METHOD o STATEMENT y dentro de un METHOD puede haber uno o más STATEMENT.

En la imagen de abajo puedes ver la estructura matrioshka de un código en C#.

ROJO – Namespace.
AMARILLO – Class.
VERDE – Method.
MORADO – Statement. Aunque un statement puede ir fuera de un Method, pero eso depende de lo que estés programando.

¿Qué es un STATEMENT?
Es una instrucción, recuerda que un programa es un conjunto de instrucciones que una computadora ejecuta para hacer algo. En la imagen puedes ver 5 instrucciones:

Console.Write(“Bienvenido al programa ”);
Console.WriteLine(“de ejemplo”);
Console.WriteLine(“Espero que estes bien”);
Console.WriteLine(“Nada más por hoy…”);

Las anteriores 4 instrucciones le ordenan a la computadora que escriba en la consola las frases que va entre paréntesis.

Saludar();  Esta instrucción le ordena a la computadora que ejecute la función o método llamado Saludar.

¿Qué es un METHOD?
Un método es un bloque de código que contiene un conjunto de instrucciones.

En la imagen puedes ver que hay 2 métodos:
Static void Saludar() y static void Main(string[] args)
Cada método encierra el conjunto de instrucciones entre corchetes o curly brackets en inglés.

¿Qué es una CLASS?
Una clase es un conjunto de OBJETOS (OBJECTS) que comparten las mismas características, por ejemplo puedes tener una clase llamada “Personas” que tienen las siguientes características:

Edad, nombre, nacionalidad, sexo, comer, caminar, hablar y leer.

Edad, nombre, nacionalidad y sexo son los atributos o datos de una persona.

Comer, caminar, hablar y leer son acciones que pueden hacer las personas.

Si tú le pones una edad, un nombre, una nacionalidad y un sexo obtendrás lo que en programación se llama un objeto, es decir, un objeto es una entidad específica que pertenece a una clase. Por ejemplo, definamos 2 objetos de la clase “Personas”:

Objeto 1:
Nombre = Juan García León.
Edad = 20 años.
Nacionalidad = Mexicano.
Sexo = Hombre.

Objeto 2:
Nombre = Suzana Herculano-Housel.
Edad = 41 años.
Nacionalidad = Brasileña.
Sexo = Mujer.

Las dos anteriores personas pueden llevar a cabo acciones como comer, caminar, hablar y leer.
Por ejemplo si le pido a Juan que me diga su nombre completo, Juan llevara a cabo la acción hablar para darme ese dato.

Si le escribo mi nombre a Suzana Herculano-Housel y le pido que me lea mi nombre, Suzana llevará a cabo la acción de leer.

Entonces una clase es un conjunto de objetos que comparten los mismos tipos de atributos (datos) y acciones (que en programación se llaman métodos o funciones) y un objeto es una entidad que pertenece a una clase y que tiene unos atributos y acciones específicos o únicos para ese objeto.

Los métodos operan sobre los atributos o datos para llevar a cabo una acción, recuerda que en un programa ingresamos datos, los procesa y devuelve unos datos de respuesta o realiza alguna cosa.

En el caso de la imagen puedes ver que se definió una clase llamada “Program” y esta clase contiene atributos (datos) y acciones (métodos o funciones).

Las acciones son los métodos “Saludar” y “Main” y los atributos o datos son las frases entre paréntesis, a las cadenas alfanuméricas se le llaman string.
En resumen una clase es un conjunto de métodos (o funciones) y declaraciones (o instrucciones).

¿Qué es un NAMESPACES?
Es un conjunto de clases.

Namespace

Son la forma de mantener el lenguaje en orden

Namespace : 
{ clase a : 
[método : [0,1,2,3...], statement[0,1,2,3...], 
clase b : 
[método : [0,1,2,3...], statement[0,1,2,3...]
] }

![](

He aquí un poco de la documentación de microsoft sobre C# y sus Tipos y todo lo que debemos saber inicialmente: https://learn.microsoft.com/es-es/dotnet/csharp/tour-of-csharp/types

**Namespace: **
son la forma en que se organiza c#
debe tener tener un nombre único en el programa y representa una parte especifica de este:

ejemplo
en un sistema de control escolar un NameSpace podría ser “inscripciones”, “clases u horarios” etc.

Dentro de los NameSpaces existen:

clases:
Estas son plantillas para la creación de entidades y pueden existir las necesarias.

A su vez dentro de las clases existen los:

  1. Metodos: que son la forma en que nosotros podemos ejecutar funcionalidades dentro del programa
    ejemplo: “crear estudiante”, “crear profesor”, “asignar salon de clases”.

y los:

  1. Statement: son el lugar donde declaramos variables, imprimos datos, hacemos operaciones, etc.

//Organiza C#, debe tener un nombre único, sería como módulo de tu programa, que contiene diferentes funcionalidades
NameSpace{

_//Las clases, como en cualquier lenguaje orientado a objetos, contiene diferentes variables y funciones _

**Class {**

_//Metodos y sentencias, son una seríe de instrucciones que hacen algo _
** }
}**

![](

Los NamesSpaces son como un import de de una libreria en java la cual una vez que los declaramos podemos acceder a todas las funcionalidades

Lo que entendí fue lo siguiente:
namespace (
// cuerpo principal de todo el programa
class(
// funciones y comandos dentro del programa.
)
)

Rojo: Namespace con nombre unico
Verde: Clase dentro del namespaces, puede haber muchas de ellas
Azul: Metodos de nuestras clases


Me copie un poco xD

Hola:)

Aprendiendo nuevas funcionalidades.

Les comparto el pequeño diagrama de ejemplo que hice de acuerdo a lo que entendí que era cada una de las partes.


Repasando ando

Poco a poco día a día…

Los namespaces es la manera en que c# se organiza.
Podemos verlo de la siguiente manera:
Una Ciudad

  • Las viviendas, cstios publicos vienen hacer los namespaces.
  • El comedor, sala,etc serian las clases
  • Lo que podemos hacer en la sala.cocina. etc vienen hacer los metodos.
    -Las cosas que los conforman serian los stament

Si no entendistes bueno. solo quedate que los namespaces son importantes ya que es la manera de como c# se organiza y tambien como nosotros podemos organizar nuestro proyecto

El namespace agrupa las clases de nuestro proyecto y este nos sirve para usarlo como referencia en otros proyectos en caso de que sea una DDL.

Namespace: Es una parte del programa el cual tiene su función determinada. Utilizada para organizar el código y mantenerlo limpio y estructurado 😉

Clases: Son aquellas plantillas para la creación de entidades en donde se pueden crear clases, con diferentes métodos 😉

Método: es la forma en como se ejecuta un programa 😉

Excelente proceso de aprendizaje