¿Qué es un módulo en .NET?

¿Qué es exactamente un Módulo? ¿Cuál es la diferencia entre un módulo, una clase y una función? ¿Cómo puedo acceder a un Módulo en c # .net?

ACTUALIZACIÓN: Estoy preguntando esto porque, sin usar la firma de código, quiero calcular una sum de comprobación del código IL de solo algunas funciones particulares (en tiempo de ejecución).

Un módulo es una recostackción lógica de código dentro de una Asamblea. Puede tener múltiples módulos dentro de un Ensamblaje, y cada módulo puede escribirse en diferentes lenguajes .NET (VS, hasta donde yo sé, no admite la creación de ensambles de múltiples módulos).

Los ensambles contienen módulos. Los módulos contienen clases. Las clases contienen funciones.

Sí, puede acceder a ensamblajes, módulos, clases, funciones, propiedades, campos, etc. todo a través de la reflexión en tiempo de ejecución.

Como una adición a las otras respuestas:

El MSDN establece que: “Un módulo es un archivo de lenguaje intermedio de Microsoft (MSIL) que no tiene un manifiesto de ensamblaje”.

Los módulos se pueden “unir” entre sí generando un manifiesto de ensamblaje con la herramienta Assembly Linker (al.exe). Si lo recuerdo correctamente, el CLR puede cargar módulos individuales para un ensamblaje, de modo que solo se carguen los módulos necesarios.

EDIT: encontré una mejor descripción de los Netmodules y por qué los querrías.

Hay otra pregunta aquí en SO que toca el tema de sum de comprobación. Las respuestas mencionan el uso del método GetILAsByteArray para obtener el IL.

Un archivo

Eso es lo que es un módulo.

module: A single file containing content that can be executed by the VES 

(Donde VES es un progtwig que lee el ensamblado de .NET y lo convierte en código de máquina.) Vea http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-335.pdf Partición I página 16.

Un ensamblaje es una colección coherente de archivos en el sistema de archivos (módulos). Ver http://msdn.microsoft.com/en-us/library/zst29sk2(vs.71).aspx

Obviamente, las definiciones de clase se definen dentro del archivo (módulo) en sí mismo.