sirve residuo que para mood funcion ejemplo divisor definicion c# class module

residuo - ¿Para qué sirven las clases y los módulos en C#?



void c++ ejemplo (6)

(Tal vez debería ser claro, no hay "Módulos" en C # como en el "Módulo" de VB.NET)

No hay módulos en C # (como los módulos en VB o VB.NET). Entonces, en cambio, un módulo es uno que se compila y empaqueta en un ensamblaje, es más lógico.

Mientras que la clase es una entidad bien definida. Un módulo puede usar una clase (o clases), para funcionar. (De nuevo, la palabra "módulo" se usa lógicamente)

La palabra "Módulo" también se usa en un contexto bastante diferente, en System.Reflection.Module

¿Alguien puede explicar la diferencia entre una clase y un módulo? ¿Cuándo usas uno contra el otro? Estoy usando C #.

Actualización: Me refiero al equivalente en C # del Módulo VB.


Esto depende en gran medida de a qué "Módulo" se refiere.

Módulo de Visual Basic

No hay un equivalente real en C # para un módulo VB.Net. En cierto modo, es similar a una clase estática en que no puedes crear una instancia de ella y todos los miembros dentro de ella son estáticos. En C #, esto requiere una palabra clave estática explícita, mientras que en VB.Net está implícito.

Sin embargo, la gran diferencia está en la búsqueda de nombres. En VB.Net, si un módulo está dentro del alcance, cualquiera de sus métodos puede ser llamado sin calificación. Esto no es cierto para las clases estáticas de C #.

Además de la búsqueda de nombres, la principal diferencia entre una clase y un módulo es que una clase suele ser útil solo con una instancia del tipo.

System.Reflection.Module

Un módulo en este contexto es un archivo ejecutable portátil (dll o exe). Un archivo DLL / EXE determinado puede estar compuesto de varios módulos si se trata de un ensamblaje de varios archivos. No tiene una relación real con una clase individual.


No hay equivalente en C # al módulo VB6. Lo más cercano sería una clase estática, pero incluso entonces, los miembros de la clase no son globales, como lo estarían en un módulo VB6.


Un módulo es un dll compilado o exe, contiene las clases compiladas. Una clase es lo mismo que una clase en la mayoría de cualquier otro idioma.

Además, los módulos, ya sea uno o más, son los que conforman los Ensambles en .Net

Recuerde que una vez que está compilado en .Net no importa en qué idioma se escribió, todo es IL, por lo que los términos que está describiendo son bastante independientes del lenguaje en ese momento.


Una clase es una unidad independiente de datos y funciones: campos, propiedades y métodos.

Un módulo se refiere al código generado a partir de un solo archivo físico. La mayoría de las veces, cuando escribe código en Visual Studio, un solo archivo contendrá una sola clase, interfaz o estructura.

Las DLL o EXE compiladas se denominan ensamblajes . Un ensamblaje puede contener cualquier número de módulos, así como otros recursos, como la información de la versión. De forma predeterminada, cuando compila un ensamblaje en Visual Studio, el ensamblaje contiene todos los módulos definidos en el proyecto.

En cuanto a cuándo los usarías: utilizas clases, interfaces y estructuras todo el tiempo, esos son los conceptos básicos. Los módulos son cosas sobre las que generalmente no tienes mucho control; de nuevo, es una práctica generalmente aceptada tener un tipo por archivo que compila a un tipo por módulo.

Normalmente, usaría un conjunto separado cuando desee reutilizar ciertos tipos (contenidos en ciertos módulos) en varios proyectos. También puede usarlo para crear un límite rígido entre los diferentes componentes de una aplicación, es decir, poner la lógica de su base de datos en un conjunto y su lógica empresarial en otro.


El módulo .NET Framework no es lo mismo que un módulo en Visual Basic, que es usado por programadores para organizar funciones y subrutinas en una aplicación (vea la msdn.microsoft.com/en-us/library/system.reflection.module.aspx )
Si está acostumbrado al módulo VB6 (método que es accesible sin una instancia), declare las funciones como estáticas en c #