Estructura del programa y flujo de ejecución
Actualización: noviembre 2007
Cuando crea una aplicación de C#, tiene la opción de crear una aplicación de consola o una aplicación para formularios Windows Forms. Ambas difieren no sólo en el tipo de interfaz de usuario; también pueden diferir en su flujo de ejecución.
Aplicaciones de Windows Forms
En una aplicación para Windows típica, con una interfaz de usuario gráfica, la mayoría de las acciones que tienen lugar después del inicio se realizan en respuesta a acciones del usuario, como mover el mouse, seleccionar una opción de menú o escribir texto. Tales acciones desencadenan eventos y llamadas a métodos especiales de la aplicación denominados controladores de eventos. Casi todo lo que un programa de Windows hace se inicia mediante un controlador de eventos. Cuando no se genera ningún evento, el programa simplemente no hace nada.
Si suele utilizar lenguajes de programación basados en procedimientos, como COBOL, BASIC o FORTRAN, tendrá que acostumbrarse al modelo orientado a eventos. La diferencia fundamental es que, en la programación orientada a eventos, otro software, y el propio sistema operativo, llama a los métodos controladores de eventos en la aplicación. Usted no sabrá a qué métodos llamarán. Puede decidir qué eventos controlará en la aplicación, pero no puede saber de antemano el orden exacto en el que se producirán esos eventos.
En una aplicación para Windows típica, los campos, matrices y colecciones que contienen el estado de la aplicación se colocan en la clase principal Form, que se denomina Form1 de forma predeterminada. En el ámbito de la clase, estos miembros son accesibles desde todos los métodos de control de eventos que se implementan en la misma clase Form. Cuando se llama a un controlador de eventos, éste puede realizar una acción que modifique los datos de la aplicación y, cuando el método devuelve un valor, la aplicación reanuda su estado de espera. Por ejemplo, un formulario puede contener un control TextBox y un botón Actualizar. Cuando un usuario hace clic en el botón, el controlador de ese evento en la aplicación podría hacer algo como obtener el texto del control TextBox y, a continuación, agregarlo a una lista de otras cadenas almacenadas en el ámbito de clase. Después de que se ha agregado la cadena, la aplicación regresa al estado de espera. Otros controladores de eventos pueden realizar otros tipos de acciones en esa misma lista de cadenas en respuesta a los datos proporcionados por el usuario.
Sus propias clases personalizadas pueden enviar y recibir eventos utilizando los mismos mecanismos que Windows Forms. Para obtener más información, vea Delegados (Guía de programación de C#).
Aplicaciones de consola
En muchas aplicaciones de consola, el flujo de ejecución pasa de una instrucción a la siguiente hasta que se llega al final del programa y la aplicación finaliza. Por supuesto, esto no ocurre siempre, ya que una aplicación de consola también puede ser controlada por eventos de teclado y eventos del sistema generados por objetos como temporizadores y conexiones de red. Las aplicaciones de consola sencillas a menudo constan de una sola clase, la cual contiene el método Main. Sin embargo, las aplicaciones más complejas pueden contener cualquier número de clases.
Para obtener más información
La mejor manera de estudiar la estructura de los programas de C# es examinar los ejemplos de código que se encuentran en Visual C# Samples, en Visual C# Developer Center y en otros sitios de Internet.
Vea también
Tareas
Cómo: Crear una aplicación de Visual C#