viernes, 26 de septiembre de 2008

Definición de métodos


Main es un método

using System;
class ExampleClass
{
static void ExampleMethod( )
{
Console.WriteLine("ExampleMethod");
}
static void Main( )
{
// ...
}
}



Llamar un métodos

nUna vez definido un método, se puede:
lLlamar a un método desde dentro de la misma clase
Se usa el nombre del método seguido de una lista de parámetros entre paréntesis
lLlamar a un método que está en una clase diferente
Hay que indicar al compilador cuál es la clase que contiene el método que se desea llamar
El método llamado se debe declarar con la palabra clave public
lUsar llamadas anidadas
Unos métodos pueden hacer llamadas a otros, que a su vez pueden llamar a otros métodos, y así sucesivamente

Uso de la instrucción return
static void ejmplo( )
{
int contador;
//...
Console.WriteLine(“Daniel");
if (contador <>
return;
Console.Write(“World");
}

Uso de variables locales
nVariables locales
  • lSe crean cuando comienza el método
  • lSon privadas para el método
  • lSe destruyen a la salida
nVariables compartidas
  • lPara compartir se utilizan variables de clase
nConflictos de ámbito
  • lEl compilador no avisa si hay conflictos entre nombres locales y de clase




Tutoriales de CSharp






Empezando Csharp




Tutorial 2

jueves, 11 de septiembre de 2008

Librería de clase base (BCL)

La Librería de Clase Base (BCL) es una librería incluida en el .NET Framework formada por cientos de tipos de datos que permiten acceder a los servicios ofrecidos por el CLR y a las funcionalidades más frecuentemente usadas a la hora de escribir programas. Además, a partir de estas clases prefabricadas el programador puede crear nuevas clases que mediante herencia extiendan su funcionalidad y se integren a la perfección con el resto de clases de la BCL. Por ejemplo, implementando ciertos interfaces podemos crear nuevos tipos de colecciones que serán tratadas exactamente igual que cualquiera de las colecciones incluidas en la BCL.

Esta librería está escrita en MSIL, por lo que puede usarse desde cualquier lenguaje cuyo compilador genere MSIL. A través de las clases suministradas en ella es posible desarrollar cualquier tipo de aplicación, desde las tradicionales aplicaciones de ventanas, consola o servicio de Windows NT hasta los novedosos servicios Web y páginas ASP.NET. Es tal la riqueza de servicios que ofrece que incluso es posible crear lenguajes que carezcan de librería de clases propia y sólo se basen en la BCL -como C#.

Dada la amplitud de la BCL, ha sido necesario organizar las clases en ella incluida en espacios de nombres que agrupen clases con funcionalidades similares. Por ejemplo, los espacios de nombres más usados son:

Espacio de nombres (NAME SPACE): Utilidad de los tipos de datos que contiene
System: Tipos muy frecuentemente usados, como los los tipos básicos, tablas, excepciones, fechas, números aleatorios, recolector de basura, entrada/salida en consola, etc.
System.Collections: Colecciones de datos de uso común como pilas, colas, listas, diccionarios, etc.

System.Data: Manipulación de bases de datos. Forman la denominada arquitectura ADO.NET.
System.IO: Manipulación de ficheros y otros flujos de datos.
System.Net: Realización de comunicaciones en red.
System.Reflection: Acceso a los metadatos que acompañan a los módulos de código.

System.Runtime.Remoting: Acceso a objetos remotos.

System.Security: Acceso a la política de seguridad en que se basa el CLR.
System.Threading: Manipulación de hilos.

System.Web.UI.WebControls: Creación de interfaces de usuario basadas en ventanas para aplicaciones Web.

System.Windows.Forms: Creación de interfaces de usuario basadas en ventanas para aplicaciones estándar.

System.XML: Acceso a datos en formato XML.
Common Type System (CTS)

El Common Type System (CTS) o Sistema de Tipo Común es el conjunto de reglas que han de seguir las definiciones de tipos de datos para que el CLR las acepte. Es decir, aunque cada lenguaje gestionado disponga de su propia sintaxis para definir tipos de datos, en el MSIL resultante de la compilación de sus códigos fuente se han de cumplir las reglas del CTS. Algunos ejemplos de estas reglas son:

Cada tipo de dato puede constar de cero o más miembros. Cada uno de estos miembros puede ser un campo, un método, una propiedad o un evento.

No puede haber herencia múltiple, y todo tipo de dato ha de heredar directa o indirectamente de System.Object.

Los modificadores de acceso admitidos son:

Modificador: Código desde el que es accesible el miembro
public: Cualquier código
private: Código del mismo tipo de dato
family: Código del mismo tipo de dato o de hijos de éste.
assembly: Código del mismo ensamblado
family and assembly: Código del mismo tipo o de hijos de éste ubicado en el mismo ensamblado
family or assembly: Código del mismo tipo o de hijos de éste, o código ubicado en el mismo ensamblado

Common Language Specification (CLS)

El Common Language Specification (CLS) o Especificación del Lenguaje Común es un conjunto de reglas que han de seguir las definiciones de tipos que se hagan usando un determinado lenguaje gestionado si se desea que sean accesibles desde cualquier otro lenguaje gestionado. Obviamente, sólo es necesario seguir estas reglas en las definiciones de tipos y miembros que sean accesibles externamente, y no la en las de los privados. Además, si no importa la interoperabilidad entre lenguajes tampoco es necesario seguirlas. A continuación se listan algunas de reglas significativas del CLS:

Los tipos de datos básicos admitidos son bool, char, byte, short, int, long, float, double, string y object Nótese pues que no todos los lenguajes tienen porqué admitir los tipos básicos enteros sin signo o el tipo decimal como lo hace C#.

Las tablas han de tener una o más dimensiones, y el número de dimensiones de cada tabla ha de ser fijo. Además, han de indexarse empezando a contar desde 0.

Se pueden definir tipos abstractos y tipos sellados. Los tipos sellados no pueden tener miembros abstractos.

Las excepciones han de derivar de System.Exception, los delegados de System.Delegate, las enumeraciones de System.Enum, y los tipos por valor que no sean enumeraciones de System.ValueType.

Los métodos de acceso a propiedades en que se traduzcan las definiciones get/set de éstas han de llamarse de la forma get_X y set_X respectivamente, donde X es el nombre de la propiedad; los de acceso a indizadores han de traducirse en métodos get_Item y set_Item; y en el caso de los eventos, sus definiciones add/remove han de traducirse en métodos add_X y remove_X.

En las definiciones de atributos sólo pueden usarse enumeraciones o datos de los siguientes tipos: System.Type, string, char, bool, byte, short, int, long, float, double y object.

En un mismo ámbito no se pueden definir varios identificadores cuyos nombres sólo difieran en la capitalización usada. De este modo se evitan problemas al acceder a ellos usando lenguajes no sensibles a mayúsculas.
Las enumeraciones no pueden implementar interfaces, y todos sus campos han de ser estáticos y del mismo tipo. El tipo de los campos de una enumeración sólo puede ser uno de estos cuatro tipos básicos: byte, short, int o long.

Que hey funciona

Que hey funciona
Ojea

Aprende C#

Aprende C#
Illustrated 2008

El contador de visitas

Pinki y Cerebro

Pinki y Cerebro
Los Programmer

Libros interesantes

Libros interesantes
para Novatos