Sei sulla pagina 1di 10

Qu es C#? C# o C Sharp es un lenguaje de programacin que est incluido en la Plataforma .

NET y corre en el Lenguaje Comn en Tiempo de Ejecucin (CLR, Common Language Runtime). El primer lenguaje en importancia para el CLR es C#, mucho de lo que soporta la Plataforma .NET est escrito en C#. C# intenta ser el lenguaje base para escribir aplicaciones .NET C# deriva de C y C++, es moderno, simple y enteramente orientado a objetos, simplifica y moderniza a C++ en las reas de clases, namespaces, sobrecarga de mtodos y manejo de excepciones. Se elimino la complejidad de C++ para hacerlo ms fcil de utilizar y menos propenso a errores. Algunas caractersticas de C# son:

C# provee el beneficio de un ambiente elegante y unificado. No soporta herencia mltiple, solamente el runtime .NET permite la herencia mltiple en la forma de interfaces, las cuales no pueden contener implementacin. No maneja apuntadores, para emular la funcin de los apuntadores se utiliza delegates el cual provee las bases para el .NET event model. Por default trabaja con cdigo administrado. La Plataforma .NET provee un colector de basura que es responsable de administrar la memoria en los programas C#. El manejo de errores est basado en excepciones. Soporta los conceptos como encapsulacin, herencia y polimorfismo de la programacin orientada a objetos. El Modelo completo de clases est construido en la cima del .NET Virtual Object System (VOS). El modelo de objetos es parte de la infraestructura y ya no forma parte del lenguaje de progrmacin. No existen funciones globales, variables o constantes. Todo deber ser encapsulado dentro de la clase, como un miembro de la instancia (accesible via una instancia de clase) o un miembro esttico (via el tipo). Los mtodos que se definen en las clases son por default no virtuales (no pueden ser sobre escritos al derivar clases) Soporta los modificadores de acceso private, protected, public y agrega un cuarto modificador internal. Solamente se permite una base clase, si se requiere herencia mltiple es posible implementar intefaces. No es posible utilizar variables no inicializadas. No es posible hacer el cast de un entero a un tipo de referencia (objeto). Los parmetros que son pasados son type-safe. El soporte de versiones lo provee el CLR. Permite acceder a diferentes APIs a travs de .NET Common Language Specification, el cual define el estdar de interoperabilidad entre lenguajes que se adhieran a este estndar. La Plataforma .NET provee un acceso transparente a COM. Soporta OLE Permite la interoperabilidad con APIs al estilo C y DLLs, esta caracterstica para acceder a APIs nativas es llamada Platform Invocation Services (PInvoke) Por default el cdigo es safe mode, pero es posible declarar clases o slo mtodos unsafe, esta declaracin permite utilizar apuntadores, estructuras y almacenamiento de arreglos estticos. C# depende del runtime que provee la Plataforma .NET, el runtime administra la ejecucin de cdigo.

Lenguaje Orientado a Objetos

Segn Bjarne Stroustrup autor del lenguaje de programacin C++, para que un lenguaje sea llamado Orientado a Objetos debe soportar tres conceptos: objetos, clases y herencia. Aunque los lenguajes orientados a objetos se construyen sobre los conceptos de :

Encapsulacin Herencia Polimorfismo

Objeto Un Objeto es una instancia de un tipo de clase. La instanciacin es el acto de crear una instancia de un objeto, la instancia es un objeto, la instanciacin usa el operador new, despus la instanciacin es posible comunicarnos con el objeto a travs de sus miembros. Un Objeto es una coleccin de informacin relacionada y funcional. Un objeto se compone de:

Datos que describen el objeto y Operaciones que pueden ser realizadas por el objeto

Herencia La Herencia es la habilidad para heredar datos y funcionalidad de un objeto padre, la herencia es una caracterstica fundamental de un sistema orientado a objetos. A travs de la herencia es posible crear o derivar una nueva clase basada en una clase existente. Una clase derivada es la nueva clase que esta siendo creada y la clase base es una de las cuales la nueva clase es derivada. La nueva clase derivada hereda todos los miembros de la clase base por consiguiente permite reusar el trabajo previo. En C# se puede asumir que la clase derivada podra heredar todos los miembros de la clase base. La herencia es un ejemplo del diseo orientado a objetos conocido como una relacin "is-a" (es-un), por ejemplo: "un empleado es una persona". Al utilizar la herencia la clase base necesita ser diseada teniendo en mente la herencia, si los objetos no tienen la estructura apropiada la herencia no podra funcionar correctamente. Una clase derivada no debera requerir ms ni prometer menos que su clase base sobre cualquiera de sus interfaces heredadas. Una interfaz de clase es un contrato entre esta y los programadores que usan la clase. upcasting, cuando un programador tiene una referencia a la clase derivada, el programador siempre puede tratar a esa clase como si fuera la clase base. En el lenguaje comn en tiempo de ejecucin .NET todos los objetos heredan de la ltima clase base llamada object y existe slo una herencia simple de objetos. Un objeto puede derivar slo de una clase base. Clase Una Clase es una plantilla para un objeto. Una Clase define las operaciones que un objeto puede realizar y define un valor que mantiene el estado del objeto, los componentes principales de una clase son: mtodos, eventos y propiedades. Una instancia de una clase es un objeto, se accede a la funcionalidad de un objeto invocando sus mtodos y accediendo a sus propiedades, eventos y campos. Una clase utiliza modificadores para especificar la accesibilidad de la clase y sus componentes, los componentes de una clase son llamados miembros por lo que existen diferentes tipos de miembros. Una referencia se refiere a una instancia, una instancia es la creacin de un objeto del tipo clase que se est declarando. Una clase utiliza ninguno, uno o ms constructores para ayudar a definir la instancia de una clase. Existe una palabra reservada llamada this que sirve para hacer referencia a la clase actual en el mbito en el cual es utilizada. Cuando se hace referencia a una variable de instancia que tiene el mismo nombre de un parmetro se debe utilizar this.name. Al crear y manipular objetos no es necesario administrar la memoria que estos ocupan ya que existe un mecanismo que se encarga de esto llamado garbage collector (recolector de basura), pero es una buena prctica no olvidar liberar los recursos.

Funciones Miembro Una Funcin Miembro puede ser un constructor, es decir, una pieza de cdigo que es invocada en una instancia del objeto. Campos Estticos Un Miembro Esttico definine miembros de un objeto que no son asociados con una instancia de clase especfica. Un Campo Esttico es el tipo ms simple de un miembro esttico, para declarar un campo esttico se utiliza el modificador static. Un campo esttico puede accederse a travs del nombre de la clase, en vez de la instancia de la clase (objeto):

using System; class MiContador{ //Campo Esttico public static int iContador = 0; public MiContador(){ iContador++; } } class App{ public static void Main(){ MiContador ContadorA = new MiContador(); Console.WriteLine(MiContador.iContador); MiContador ContadorB = new MiContador(); Console.WriteLine(MiContador.iContador); } }
El ejemplo determina cuantas instancias del objeto han sido creadas. Clase Base Una Clase base es un objeto padre de donde se basa un nuevo trabajo. Clase Derivada Una Clase derivada es un objeto hijo. Clase Abstracta Una Clase Abstracta define las funciones que una clase derivada debe implementar. Una Clase Abstracta define un contrato en donde las clases derivadas deben definir las funciones que la clase padre marca utilizando la palabra reservada abstract, adems que la clase padre tambin se define como abstract.

using System; abstract public class Persona{//Indica que la clase es abstracta //Propiedades public string sNombre; public int iEdad; //Constructor public Persona(string sNombre, int iEdad){ this.sNombre = sNombre; this.iEdad = iEdad; } //Mtodos abstract public string Tipo();//Mtodo que la clase derivada implementar } //Herencia Simple public class Empleado : Persona{ public Empleado(string sNombre, int iEdad):base(sNombre, iEdad){} override public string Tipo(){ return "Empleado"; }

debe

} class App{ //Aplicacin public static void Main(){ Console.WriteLine("--- Arreglo de Objetos ---"); Empleado[] aProgramadores = new Empleado[2]; aProgramadores[0] = new Empleado("Bill Gates", 50); aProgramadores[1] = new Empleado("Eric S. Raymond", 60); for(int i = 0; i < aProgramadores.Length; i++){ Console.WriteLine("aProgramadores["+i+"].sNombre : " + aProgramadores[i].sNombre); Console.WriteLine("aProgramadores[" + i + "].iEdad : " + aProgramadores[i].iEdad); Console.WriteLine("aProgramadores[" + i + "].Tipo : " + aProgramadores[i].Tipo()); } } }
Clase Sealed Una Clase sealed se utiliza para prevenir que una clase sea utilizada como una clase base, su principal uso es para prevenir la derivacin no planeada.

sealed class ClaseBase{ ClaseBase(){} } class ClaseDerivada : ClaseBase{ } class Sellada{ public static void Main(){ ClaseDerivada CD = new ClaseDerivada(); } }
Al compilar el cdigo se muestra el siguiente mensaje:

sealed.cs(4,7): error CS0509: 'ClaseDerivada' : cannot inherit from sealed class 'ClaseBase' sealed.cs(1,14): (Location of symbol related to previous error) El error es porque ClaseDerivada no puede utilizar ClaseBase como una clase base porque ClaseBase es sealed, es decir, no permite derivaciones.
Overloading/Sobrecarga La Sobrecarga (Overloading) hace posible utilizar dos o ms clases con el mismo nombre, pero con parmetros diferentes. La sobrecarga es comn especialmente para los constructores para definir diferentes maneras de crear una instancia nueva. Cuando una funcin sobrecargada es invocada el compilador selecciona la funcin apropiada que coincide con los parmetros. Herencia Simple La Herencia Simple permite derivar una clase en una clase nueva, que contiene la definicin de la clase de la cual deriva, es decir, hereda todos los miembros datos de la clase, aunque pueden existir miembros a los cuales no se pueda tener acceso por ser private. Los constructores no pueden ser heredados, por lo que es necesario escribir constructores y si funcionalmente no existe alguna modificacin se invoca el constructor de la clase que hereda utilizando la sintaxis base. Si se omite el constructor de la clase base y es invocado el compilador podra invocar el constructor de la clase base sin parmetros.

using System; public class Persona{

//Propiedades public string sNombre; public int iEdad; private double dSueldo; //Constructor public Persona(string sNombre, int iEdad){ this.sNombre = sNombre; this.iEdad = iEdad; } //Mtodos public string Tipo(){ return "Persona"; } public void AsignarSueldo(double dSueldo){ this.dSueldo = dSueldo; } public double ObtenerSueldo(){ return this.dSueldo; } } //Herencia Simple public class Empleado : Persona{ public Empleado(string sNombre, int iEdad):base(sNombre, iEdad){} public new string Tipo(){ return "Empleado"; } double dSueldo; public new void AsignarSueldo(double dSueldo){ this.dSueldo = dSueldo * dSueldo; } public new double ObtenerSueldo(){ return this.dSueldo; } } class App{ //Aplicacin public static void Main(){ Persona Mexicano = new Persona("Gerado ngeles Nava", 33); Console.WriteLine("Mexicano.sNombre : " + Mexicano.sNombre); Console.WriteLine("Mexicano.iEdad : " + Mexicano.iEdad); double dSueldo = 123.456; Mexicano.AsignarSueldo(dSueldo); Console.WriteLine("Mexicano.iSueldo : " Mexicano.ObtenerSueldo()); Console.WriteLine("Mexicano.Tipo : " + Mexicano.Tipo()); Console.WriteLine("--- Herencia Simple ---"); Empleado Programador = new Empleado("Carlos Salinas G.", 53); Console.WriteLine("Programador.sNombre : " + Programador.sNombre); Console.WriteLine("Programador.iEdad : " + Programador.iEdad); Programador.AsignarSueldo(dSueldo); Console.WriteLine("Programador.iSueldo : " + Programador.ObtenerSueldo()); Console.WriteLine("Programador.Tipo : " + Programador.Tipo()); }

}
Polimorfismo y Funciones Virtuales El polimorfismo es la funcionalidad que permite a cdigo antiguo invocar cdigo nuevo, tambin permite extender el sistema sin modificar el cdigo existente, esto se logra sobreescribiendo o redefiniendo el cdigo, para lo cual se utilizan funciones virtuales y la palabra clave override. Las funciones abstractas son automaticamente funciones virtuales, las cuales permiten al programador usar polimorfismo para hacer su cdigo simple. Virtual significa que cuando una invocacin a funciones miembro, el compilador debera buscar por el tipo real del objeto y no por el tipo de la referencia, e invocar en base al tipo la funcin apropiada.

using System; public class Persona{ //Propiedades public string sNombre; public int iEdad; //Constructor public Persona(string sNombre, int iEdad){ this.sNombre = sNombre; this.iEdad = iEdad; } //Mtodos virtual public string Tipo(){ return "Persona"; } } //Herencia Simple public class Empleado : Persona{ public Empleado(string sNombre, int iEdad):base(sNombre, iEdad){} override public string Tipo(){ return "Empleado"; } } class App{ //Aplicacin public static void Main(){ Persona Mexicano = new Persona("Gerado ngeles Nava", 33); Console.WriteLine("Mexicano.sNombre : " + Mexicano.sNombre); Console.WriteLine("Mexicano.iEdad : " + Mexicano.iEdad); Console.WriteLine("Mexicano.Tipo : " + Mexicano.Tipo()); Console.WriteLine("--- Arreglo de Objetos ---"); Empleado[] aProgramadores = new Empleado[2]; aProgramadores[0] = new Empleado("Bill Gates", 50); aProgramadores[1] = new Empleado("Eric S. Raymond", 60); for(int i = 0; i < aProgramadores.Length; i++){ Console.WriteLine("aProgramadores["+i+"].sNombre : aProgramadores[i].sNombre); Console.WriteLine("aProgramadores[" + i + "].iEdad aProgramadores[i].iEdad); Console.WriteLine("aProgramadores[" + i + "].Tipo aProgramadores[i].Tipo()); } } }

" : : " "

+ + +

Cuando una funcin es declarada con la palabra reservada override significa que es la misma funcin que fue declarada en la clase base, si la palabra reservada override se omite el compilador podra asumir que la funcin no est relacionada a la funcin de la clase base y no despacha la funcin virtual (el compilador podra sugerir omitir override o agregar new) . Cuando existe una funcin virtual el programador puede pasar una referencia a la clase abstracta aunque la clase derivada y el compilador podran escribir cdigo para invocar la versin apropiada de la funcin en tiempo de ejecucin. Por ejemplo, el objeto base object tiene una funcin virtual llamada ToString() que convierte un objeto a string. Si se invoca la funcin ToString() en un objeto que que no la tiene como versin propia, la versin de la funcin que es parte de la clase object podra ser invocada. Encapsulacin y Visibilidad Encapsulacin (tambin llamada information hiding), habilidad de un objeto para ocultar sus datos internos o parte interna de sus usuarios y provee una interface que hace las partes importantes del objeto accesible programaticamente. La encapsulacin provee los lmites entre una interfaz externa y los detalles de su implementacin interna. Al disear objetos el programador decide que objetos son visibles al usuario y que es privado dentro del objeto, los detalles que no son visibles al usuario son sealados para ser encapsulados en la clase. Razones para encapsular y ocultar:

El usuario no puede cambiar lo que es privado en el objeto, lo cual reduce la oportunidad de que el usuario cambie o dependa de los detalles en el cdigo, si el usuario hace lode detalles dependientes, los cambios realizados en el objeto quiz arruinen el cdigo del usuario. Los cambios realizados en partes pblicas de un objeto deben permanecer compatibles con la versin previa. Las partes pblicas pueden ser cambiadas sin arruinar el cdigo del usuario. Los campos privados pueden slo ser accesados desde la clase, los campos pblicos pueden ser accesados a travs de cualquier instancia de la clase.

Abstraccin Una Abstraccin se refiere a como un problema dado es representado en el espacio de programa. Como desarrollador de clases es necesario pensar en terminos de hacer el mejor diseo de abstraccin para los clientes de clase y permitirles enfocarse a la tarea que deben realizar y no escudriar o indagar en los detalles de como funciona la clase, tambin es necesario determinar cuales de los miembros de la clase deberan ser accesibles publicamente. Los beneficios de una buena abstraccin, es disearla de manera tal que las modificaciones son minimas, si se conoce bien el problema a resolver facilita determinar que mtodos necesitara el usuario, tambin ser un sistema fcil de entender y mantener. La interfaz de clase es la implementacin de la abstraccin. Plataforma .NET La solucin Microsoft .NET comprende cuatro componentes fundamentales:

Servicios de Bloques de Construccin .NET o acceso programtico para ciertos servicios tales como almacenamiento de archivos, calendario y pasaporte .NET el cual es un servicio de verificacin de identidad. Dispositivos de Software .NET el cual podra correr sobre nuevos dispositivos Internet. La Experiencia de Usuario .NET la cual incluye caractersticas tales como interfaz natural, agentes de informacin y etiquetas inteligentes es decir una tecnologa que automatiza hiperligas para informacin relacionada a palabras y frases en documentos creados por el usuario. La Infraestructura .NET la cual comprende la plataforma .NET, Microsoft Studio .NET, los Servidores Corporativos .NET y Microsoft Windows .NET

La Infraestructura .NET se refiere a todas las tecnologas que constituyen el nuevo ambiente para crear y ejecutar aplicaciones robustas, escalables y distribuidas. La parte de .NET que permite desarrollar estas aplicaciones es la plataforma .NET.

La Plataforma .NET consiste de un Lenguaje Comn en Tiempo de Ejecucin (CLR) y la Biblioteca de Clases de la Plataforma .NET algunas veces llamada la Biblioteca de Clases Base (CBL). El CLR es como una mquina virtual (el cdigo que corre dentro del CLR en ejecucin en un ambiente encapsulado y controlado, separados de otros procesos en la mquina) en la cual funcionan las aplicaciones .NET, todos los lenguajes .NET tienen la biblioteca de clases de la Plataforma .NET a su disposicin. La biblioteca de clases de la Plataforma .NET incluyen soporte para cualquiera de los archivos de entrada/salida y base de datos de entrada/salida para XML y SOAP. La Plataforma .NET es una plataforma nueva que simplifica la aplicacin del desarrollo en ambientes altamente distribuidos de Internet. La Plataforma .NET est diseada para cumplir los siguientes objetivos:

Proveer un ambiente consistente de programacin orientada a objetos, tanto o si el cdigo objeto es almacenado y ejecutado localmente, o si es ejecutado localmente pero distribuido en Internet o si es ejecutado remotamente. Proveer un ambiente de ejecucin de cdigo que minimice la distribucin de software y conflictos de versiones. Proveer un ambiente de ejecucin de cdigo que garantice la ejecucin de cdigo seguro, incluyendo el cdigo creado por un desconocido o un tercero semiconfiable. Proveer un ambiente de ejecucin de cdigo que elimine los problemas de desempeo de ambientes de scripts o interpretes. Hacer que la experiencia del desarrollador sea consistente a travs de una amplia variedad de aplicaciones, tal como aplicaciones basadas en Windows y aplicaciones basadas en Web. Construir toda la comunicacin sobre estndares industriales para asegurar que el cdigo basado en la Plataforma .NET pueda integrarse con cualquier otro cdigo.

La Plataforma .NET consiste de dos componentes principales:

El Lenguaje Comn en Tiempo de Ejecucin (CLR) el cual es el fundamento de la Plataforma .NET La Biblioteca de Clases de la Plataforma .NET, es una coleccin orientada a objetos de tipos reusables que pueden utilizarse para desarrollar aplicaciones en el rango de aplicaciones tradicionales desde la lnea de comandos o interfaces de usuario grficas (GUI) hasta aplicaciones basadas en las ltimas inovaciones que provee ASP.NET tales como Web Forms y servicios web XML.

El runtime es una agente que administra el cdigo en tiempo de ejecucin al proveer de serviciones principales como la administracin de memoria, administracin de hilos, tambin implementa tipos estrictos de seguridad y otras formas de verificacin de cdigo que aseguren la seguridad y robustez. El concepto de administracin de cdigo es principio fundamental del runtime. El cdigo que manipular el runtime es conocido como cdigo administrado, mientras que el cdigo que no ser manipulado por el runtime es conocido como un cdigo no administrado. La plataforma .NET puede almacenar componentes no administrados que son cargados por el CLR en sus procesos e inicializados por la ejecucin de cdigo administrado de esta manera se crea un ambiente de software que puede explotar tanto caractersitcas de cdigo administrado como las del cdigo no administrado. .NET Common Language Runtime - CLR El .NET Common Language Runtime (Lenguage comn en tiempo de ejecucin .NET) es un ambiente basado en componentes y C# esta diseado para facilitar la creacin de componentes. Todos los objetos son escritos como componentes y los componentes son el centro de accin, por ello que reciba el nombre de lenguaje cntrico de componentes (component-centric). Los componentes creados en C# son totalmente auto-describibles y pueden ser utilizados sin un proceso de registro. C# ayuda en la creacin de componentes mediante el runtime y framework .NET, los cuales proveen un sistema de tipo unificado en el cual todo puede ser tratado como un objeto. Caractersticas del CLR EL CLR no slo soporta el compilador de C#, tambin el de Visual Basic y C++, el cdigo que generan estos compiladores para ser soportado por CLR es llamado managed code.

Algunos de los beneficios que las aplicaciones obtienen del CLR son:

Integracin de lenguajes a travs del Common Language Specification Administracin automatica de memoria, a travs del recolector de basura. Manejo de excepciones de lenguajes. Seguridad type safety. Soporte de versiones. Modelo Simplificado para la interaccin de componentes.

El CLR provee los beneficios anteriores, el compilador debe emitir los metadatos en el managed code. Los metadatos describen los tipos en el cdigo y son empaquetados en el cdigo ejecutable. El CLR administra la memoria, ejecucin de hilos, ejecucin de cdigo, verificacin de cdigo seguro, compilacin y otros servicios. Estas caractersticas son intrnsecas a la administracin de cdigo que corre sobre el CLR. La seguridad y administracin de componentes depende de un nmero de factores que se incluyen en su origen como Internet red corporativa, computadora local, es decir, quiz o quiz no estn disponibles para desempear operaciones de acceso a archivos, acceso a registros o funciones sensitivas, an si comienzan a utilizarse en el misma aplicacin activa. El runtime forza el acceso a cdigo seguro, no es posible acceder a datos personales, sistema de archivos o red. El runtime tambin forza la robustez del cdigo implementando una infraestrucutra estricta de verificacin de cdigo llamado Common Type System (CTS), el cual asegura que toda la administracin de cdigo se describe as misma. La variedad de compiladores Microsoft y de terceros genera cdigo administrado que conforma el CTS, es decir, que la administracin de cdigo puede consumir otros tipos e instancias administradas, mientras que se forza estrictamente la fidelidad de tipo y seguridad de tipo. La administracin del ambiente del runtime elimina cuestiones de software comunes, liberando por ejemplo recursos que ya no son utilizados. El runtime tambin acelera la productividad del desarrollador, no importa el lenguaje que un programador utilice, puede utilizar las ventajas del runtime, biblioteca de clases, y componentes escritos por otros programadores, cualquier compilador que utilice el runtime puede hacer lo mismo, La interoperabilidad entre cdigo administrado y no administrado permiten a los desarrolladores continuar utilizando componentes COM y DLLs. El runtime est diseado para incrementar el desempeo, atravs del CLR que provee muchos servicios estndar, el cdigo administrado nunca es interpretado, una caracterstica llamada just-in-time (JIT) permite compilar todo el cdigo administrado para correr en el lenguaje nativo de la mquina del sistema o de cualquiera que se este ejecutando. El administrador de memoria elimina las posibilidades de fragmentacin de memoria e incrementa la referencia de localidad de memoria para impulsar el incremento del desempeo. El runtime soporta aplicaciones del lado del servidor como Microsoft SQL Server e Internet Information Services (IIS), esta infraestructura permite utilizar codigo administrado para escribir la lgica del negocio. .NET Runtime Environment El Lenguaje Comn en Tiempo de Ejecucin provee los servicios de ejecucin bsica. Las clases base proveen tipos de datos bsicos, clases coleccin y otras clases generales. Las clases base son clases para tratar datos y XML. En la parte superior de la arquitectura las clases exponen servicios web y tratramiento de la intefaz de usuario. Una aplicacin puede hacer invocaciones en cualquier nivel y utilizar clases desde cualquier nivel. Organizacin .NET Framework:
Servicios Web Interfaz de Usuario

Datos y XML Clases Base Lenguaje Comn en Tiempo de Ejecucin

Ambiente/Entorno de Ejecucin El ambiente o entorno provee un modelo de programacin simple, seguro, soporta de herramientas potentes y ayuda con la distribucin, empaquetado y soporte:

Modelo de Programacin Simple, todos los servicios son ofrecidos a travs de un modelo comn que puede ser accedido desde cualquier lenguaje .NET y los servicios pueden ser escritos en cualquier lenguaje .NET, el entorno o ambiente en gran parte es un lenguaje agnstico permitiendo la eleccin de lenguaje, esto hace el cdigo fcil de reusar para el programador y los proveedores de bibliotecas. En el runtime .NET todos los errores son reportados via excepciones. El entorno contiene las Bibliotecas de Clase Base (Base Class Libraries - BCL) las cuales proveen las funciones tradicionales fundadas en bibliotecas en tiempo de ejecucin, la funcionalidad del BCL incluye:

Clases coleccin, tales como consultas, arreglos, pilas y tablas hash. Clases de acceso a bases de datos Clases IO (input-output) Clases WinForms, para crear interfaces de usuario Clases Network

Fuera de la clase base en tiempo de ejecucin, existen muchos otros componentes que controlan la interfaz de usuario (UI) y realizan otras operaciones sofisticadas.

Seguridad, el entorno del runtime .NET est diseado para ser un entorno seguro. El runtime .NET es un entorno administrado o controlado, lo cual significa que el runtime administra la memoria por el programador a travs del recolector de basura. El runtime .NET es un entorno verificado, en tiempo de ejecucin el entorno verifica que la ejecucin del cdigo sea de tipo segura (type-safe). El sistema de seguridad interactua con el verificador para asegurar que el cdigo realice slo lo que tiene permitido hacer, esto es posible especificando un requerimiento de seguridad para una pieza de cdigo especfica.

Soporte de herramientas potentes, Microsoft suministra cuatro lenguajes .NET: VB, VC++, C# y JScript. La depuracin en gran medida es enriquecida por el runtime .NET, el modelo de ejecucin comn hace la depuracin de lenguajes simple y directa. Distribucin, empaquetado y soporte, El runtime .NET ayuda simplificando la distribucin y en algunos casos no existe el paso tradicional de instalacin, porque los paquetes son distribuidos en un formato genrico, un paquete puede correr en cualquier entorno que soporte .NET, el entorno separa los componentes de una aplicacin por lo que una aplicacin slo corre con los componentes que son enviados.

Potrebbero piacerti anche

  • 04 Administrativo Legal - Desbloqueado
    04 Administrativo Legal - Desbloqueado
    Documento8 pagine
    04 Administrativo Legal - Desbloqueado
    john
    Nessuna valutazione finora
  • Algoritmo
    Algoritmo
    Documento20 pagine
    Algoritmo
    Luis Miguel Orozco Castro
    Nessuna valutazione finora
  • MLD
    MLD
    Documento92 pagine
    MLD
    Sergio Sebastian Arriagada
    Nessuna valutazione finora
  • 4
    4
    Documento1 pagina
    4
    Luis Miguel Orozco Castro
    Nessuna valutazione finora
  • Ejercicio Variantes
    Ejercicio Variantes
    Documento1 pagina
    Ejercicio Variantes
    Luis Miguel Orozco Castro
    Nessuna valutazione finora
  • Diagram A Baseball
    Diagram A Baseball
    Documento1 pagina
    Diagram A Baseball
    Luis Miguel Orozco Castro
    Nessuna valutazione finora