Estructura


Estructura de un programa

Los conceptos clave de la organización en C # son los programas, espacios de nombres, tipos, miembros, y las asambleas. C # de los programas constan de uno o más archivos de código fuente. Programas de declarar los tipos, los cuales contienen los miembros y se pueden organizar en los espacios de nombres. Las clases e interfaces son ejemplos de tipos. Los campos, métodos, propiedades y eventos son ejemplos de los miembros. Cuando los programas de C # se compila, se encuentran físicamente empaquetados en las asambleas. Asambleas suelen tener la extensión de archivo. Exe o dll., Dependiendo de si la implementación de aplicaciones o bibliotecas.
En el ejemplo
using System;
Acme.Collections espacio de nombres
{
      public class Pila
      {
            Entrada la parte superior;
            public void push (datos del objeto) {
                  top = nueva entrada (parte superior, los datos);
            }
            Pop objeto público () {
                  if (alto == null) throw InvalidOperationException nuevo ();
                  resultado = objeto top.data;
                  top = top.next;
                  return resultado;
            }
            la clase de entrada
            {
                  La entrada del público al lado;
                  los datos públicos de objetos;
                  La entrada del público (entrada de datos próximos, objeto) {
                       this.next = siguiente;
                       this.data = datos;
                  }
            }
      }
}
declara una clase llamada Pila en un espacio de nombres llamado Acme.Collections. El nombre completo de esta clase es Acme.Collections.Stack. La clase contiene varios miembros: un campo llamado superior, dos métodos denominados push y pop, y una entrada de la clase anidada denominada. La clase de entrada contiene además tres miembros: un campo de nombre al lado, un campo de datos con nombre, y un constructor. Suponiendo que el código fuente del ejemplo se almacena en los acme.cs de archivo, la línea de comandos
csc / t: library acme.cs
compila el ejemplo, como una biblioteca (código sin un punto de entrada principal) y produce un ensamblado denominado acme.dll.
Asambleas contener código ejecutable en forma de lenguaje intermedio (IL), las instrucciones y la información simbólica en forma de metadatos. Antes de ser ejecutado, el código IL en una asamblea se convierte automáticamente en procesador de código específico por el Just-In-Time (JIT) de. NET Common Language Runtime.
Debido a que un conjunto es una unidad auto-descripción de la funcionalidad que contiene el código y los metadatos, no hay necesidad de que las directivas # include y los archivos de cabecera en C #. Los tipos y miembros públicos contenidos en un conjunto particular se ponen a disposición en un programa de C #, simplemente haciendo referencia a que el montaje al compilar el programa. Por ejemplo, este programa utiliza la clase Acme.Collections.Stack de la asamblea acme.dll:
using System;
utilizando Acme.Collections;
la clase de prueba
{
      static void Main () {
            Pila Pila s = new ();
            s.Push (1);
            s.Push (10);
            s.Push (100);
            Console.WriteLine (s.Pop ());
            Console.WriteLine (s.Pop ());
            Console.WriteLine (s.Pop ());
      }
}
Si el programa se almacena en los archivos test.cs, cuando test.cs se compila, el conjunto de acme.dll puede ser referenciado utilizando el compilador la opción / r:
csc / r: acme.dll test.cs
Esto crea un ensamblado ejecutable llamado test.exe, que, cuando se ejecuta, produce la salida:
100
10
1
C # permite que el texto fuente de un programa que se almacena en varios archivos fuente. Cuando un archivo multi-programa en C # es compilado, todos los archivos de código fuente se procesan juntos, y los archivos de código fuente libre puede hacer referencia a la otra-conceptual, es como si todos los archivos de origen se concatenan en un archivo de gran tamaño antes de ser procesados. Declaraciones adelantadas no son necesarias en C #, ya que, con muy pocas excepciones, para la declaración es insignificante. C # no limita un archivo de origen a la declaración de un solo tipo de público ni requiere el nombre del archivo de origen para que coincida con un tipo declarado en el archivo de origen.
 

0 comentarios:

Publicar un comentario