ndice general
1
Clase (informtica)
1.1
Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1
Campos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2
1.1.3
Propiedades
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
2
Vase tambin
Atributo (informtica)
2.1
Vase tambin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tipo de dato
4.1
4.1.1
Caracteres
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2
Numricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3
Booleanos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1
Pauscal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4
Vase tambin
4.2
5.1
Vase tambin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vase tambin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
Microsoft .NET
11
7.1
Consideraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
7.2
Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
ii
NDICE GENERAL
7.3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
7.4
Estandarizacin y licenciamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
7.5
El futuro de .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
7.6
13
7.7
Ensamblados
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
7.8
Versiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
7.9
Vase tambin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
7.10 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
14
7.3.1
ADO.NET
8.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Arquitectura
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
8.1.1
Data provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
8.1.2
DataSets
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
8.2
16
8.3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
8.4
16
8.5
Vase tambin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
8.6
Enlaces externos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Diagrama de clases
18
9.1
Miembros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
9.1.1
Visibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
9.1.2
mbitos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
18
9.2
Relaciones
9.2.1
9.3
Diagramas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 C Sharp
19
20
10.1 Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
10.3 Literales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
10.4 Variables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
10.6 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
22
10.8 Mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
10.9 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
10.5 Constantes
NDICE GENERAL
iii
10.10Clases y objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
10.11Cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
10.12Ejemplos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
10.13Compiladores e IDEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
26
10.15Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
10.16Enlaces externos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
10.16.1 En castellano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
10.16.2 En ingls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
11 Espacio de nombres
27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
28
28
29
29
29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
13 MSDN Library
31
31
13.2 Versiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
13.4 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
14.2 Origen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
34
35
14.5 Resumen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
38
14.10.1 Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
iv
NDICE GENERAL
14.10.2 Imgenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
40
Captulo 1
Clase (informtica)
cas para proporcionar encapsulacin, como especicadores
de acceso.
Una clase tambin puede tener una representacin (metaobjeto) en tiempo de ejecucin, que proporciona apoyo en
tiempo de ejecucin para la manipulacin de los metadatos relacionados con la clase.
1.1
Componentes
Ejemplos de clases
1.1.2
Los mtodos implementan la funcionalidad asociada al objeto. Los mtodos son el equivalente a las funciones en
programacin estructurada. Se diferencian de ellos en que
es posible acceder a las variables de la clase de forma implcita.
Cuando se desea realizar una accin sobre un objeto, se dice
que se le manda un mensaje invocando a un mtodo que
realizar la accin.
1.1.3
Propiedades
Captulo 2
Atributo (informtica)
En computacin, un atributo es una especicacin que dene una propiedad de un Objeto, elemento o archivo. Tambin puede referirse o establecer el valor especco para una
instancia determinada de los mismos.
2.1
Si el elemento en cuestin puede ser considerado una propiedad (Nombre_Cliente) de otra entidad (digamos cliente), el elemento puede tener cero o ms atributos (propiedades) de su propio (Nombre_Cliente es de Tipo = tipotexto).
Vase tambin
Campo (informtica)
HTML
Un atributo de un objeto por lo general consiste de un nombre y un valor; de un elemento, un tipo o nombre de clase;
de un archivo, un nombre y extensin.
Cada atributo nombrado tiene asociado un conjunto
de reglas denominadas operaciones: uno no agrega caracteres o manipula y procesa una matriz de enteros
como una imagen ni procesa texto como tipo de coma
otante (nmeros decimales).
Por tanto, una denicin de objeto se puede ampliar
mediante la imposicin de tipos de datos: un formato de representacin, un valor por defecto, y las operaciones legales (normas) y restricciones ("Divisin
por cero no est permitida!") Son todos los que podran participar en la denicin un atributo, o por el
contrario, se puede decir que son atributos de ese tipo
de objeto. Un archivo JPEG no es decodicado por
3
Captulo 3
Captulo 4
Tipo de dato
Tipo de dato informtico es un atributo de una parte de usa informacin de los tipos de datos para comprobar la
los datos que indica al ordenador (y/o al programador) al- vericacin de los programas que acceden o manipulan los
go sobre la clase de datos sobre los que se va a procesar. datos.
Esto incluye imponer restricciones en los datos, como qu
valores pueden tomar y qu operaciones se pueden realizar.
Los tipos de datos comunes son: enteros, nmeros de coma
otante (decimales), cadenas alfanumricas, fechas, horas, 4.1 Tipos de datos primitivos
colores, etc.
Por ejemplo, por lo general el tipo int representa un Los tipos de datos hacen referencia al tipo de informacin
conjunto de enteros de 32 bits cuyo rango va desde el que se trabaja, donde la unidad mnima de almacenamiento
2.147.483.648 al 2.147.483.647, as como las operacio- es el dato, tambin se puede considerar como el rango de
nes que se pueden realizar con los enteros, como son la su- valores que puede tomar una variable durante la ejecucin
ma, la resta, y la multiplicacin. Los colores, por su parte, del programa.
se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando
el nombre del color; las operaciones permitidas en este caso 4.1.1 Caracteres
incluyen la adicin y la sustraccin, pero no la multiplicacin.
El tipo de dato carcter es un dgito individual el cual se
ste es un concepto propio de la informtica, ms espec- puede representar como numricos (0 al 9), letras (a-z) y
camente de los lenguajes de programacin, aunque tam- smbolos (!"$&/\).
bin se encuentra relacionado con nociones similares de la Nota: En el lenguaje java la codicacin Unicode permite
trabajar con todos los caracteres de distintos idiomas.
matemtica y la lgica.
Tipo de dato Rango Tamao de bits char 0 a 6553516 bits
4.1.2
Numricos
Un tipo de dato puede ser tambin visto como una limitacin impuesta en la interpretacin de los datos en un sistema
de tipicacin, describiendo la representacin, la interpretacin y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipicacin
4.1.3
Booleanos
Este tipo de dato se emplea para valores lgicos, los podemos denir como datos comparativos dicha comparacin
devuelve resultados lgicos (Verdadero o Falso).
Tipo de dato: boolean tamao = 8 bits
Pauscal
El lenguaje de programacin Pauscal permite declarar variables de tipo caracter (Cadena) y numrica. Como se
puede apreciar, todas las variables excepto la de tipo Cadena son de tipo numricas (incluyendo Booleano).
4.3 Referencias
Luca Cardelli, Peter Wegner. On Understanding Types, Data Abstraction, and Polymorphism, from Computing Surveys, (December, 1985)
Captulo 5
Bytecode
Native code
C# compiler
C#
VB.NET compiler
VB.NET
Other .NET
language
MSIL code
CLR
Native code
Other compiler
Administracin de la memoria
Compile time
Administracin de hilos
Runtime
Manejo de excepciones
Recoleccin de basura
Seguridad
5.1
Vase tambin
Microsoft .NET
Common Language Infrastructure
Common Intermediate Language
Mquina virtual Parrot
Mquina virtual
Portable.NET
Mono
Metadato
Tiempo de ejecucin
Common Type System
5.2 Referencias
[1] Barillas, Oscar. [www.wikipedia.org/wiki/Oscar_barillas
Common Language Runtime] |url= incorrecta (ayuda).
[2] Managed Execution Process (en ingls). Consultado el 18
de marzo de 2011.
Captulo 6
Cargar los tipos de forma tal que se encuentren aislados unos de otros en tiempo de ejecucin, pero que
puedan a su vez compartir recursos.
La infraestructura de lenguaje comn (en ingls Common Language Infrastructure o CLI) es una especicacin
estandarizada que describe un entorno virtual para la ejecucin de aplicaciones, cuya principal caracterstica es la
de permitir que aplicaciones escritas en distintos lenguajes
de alto nivel puedan luego ejecutarse en mltiples plataformas tanto de hardware como de software sin necesidad de
reescribir o recompilar su cdigo fuente.
Resolver dependencias entre tipos en tiempo de ejecucin usando una poltica exible que pueda tener en
cuenta la versin, atributos de localizacin y polticas
administrativas.
Ejecutar aplicaciones bajo la supervisin de un entorno privilegiado que permita controlar y hacer cumplir polticas en tiempo de ejecucin.
10
Poder realizar tareas de bajo nivel, como carga de tipos en memoria, enlace con libreras y compilacin a
cdigo nativo slo cuando sea necesario (este enfoque
se conoce tpicamente como on demand, o just in
time).
Proveer una serie de funcionalidades comunes mediante un grupo de libreras de programacin que los
desarrolladores puedan utilizar para construir sus aplicaciones.
Microsoft .NET de hecho es un sper conjunto de esta especicacin, es decir, provee todo lo necesario para cumplir
con la misma y adems agrega una serie de herramientas,
libreras y funcionalidades no contempladas por ella originalmente y que proveen una enorme utilidad y exibilidad
a los desarrolladores (por ejemplo, libreras para la creacin de aplicaciones y servicios web, acceso a motores de
bases de datos, controles grcos, herramientas para desensamblar assemblies, debuggers, etc.). Si bien es gratuito,
su cdigo fuente no es abierto, y es distribuido por Microsoft en versiones para sistemas operativos Windows 98 y
sus sucesores nicamente.
La especicacin del CLI est formada por cuatro partes:
Sistema comn de tipos, en ingls Common Type System (CTS).
Metadatos.
Especicaciones de lenguaje comn, en ingls Common Language Specication (CLS).
Sistema de ejecucin virtual, del ingls Virtual Execution System (VES).
Captulo 7
Microsoft .NET
.NET es un framework de Microsoft que hace un nfasis
en la transparencia de redes, con independencia de plataforma de hardware y que permita un rpido desarrollo de
aplicaciones. Basado en ella, la empresa intenta desarrollar
una estrategia horizontal que integre todos sus productos,
desde el sistema operativo hasta las herramientas de mercado.
.NET podra considerarse una respuesta de Microsoft al
creciente mercado de los negocios en entornos Web, como
competencia a la plataforma Java de Oracle Corporation y a
los diversos framework de desarrollo web basados en PHP.
Su propuesta es ofrecer una manera rpida y econmica, a
la vez que segura y robusta, de desarrollar aplicaciones o
como la misma plataforma las denomina, soluciones permitiendo una integracin ms rpida y gil entre empresas
y un acceso ms simple y universal a todo tipo de informacin desde cualquier tipo de dispositivo.
7.2
Componentes
7.1 Consideraciones
12
7.3
Compilador MSIL a nativo: transforma cdigo intermedio de alto nivel independiente del hardware que lo
ejecuta a cdigo de mquina propio del dispositivo que
lo ejecuta.
Administrador de cdigo: coordina toda la operacin
de los distintos subsistemas del Common Language
Runtime.
Recolector de basura: elimina de memoria objetos no
utilizados automticamente.
Motor de seguridad: administra la seguridad del cdigo que se ejecuta.
Motor de depuracin: permite hacer un seguimiento
de la ejecucin del cdigo an cuando se utilicen lenguajes distintos.
7.4
Estandarizacin y licenciamiento
En agosto de 2000, Microsoft, Hewlett-Packard e Intel trabajaron conjuntamente para estandarizar el lenguaje de
programacin C# y una Infraestructura de Lenguaje Comn (CLI por sus siglas en ingls). Para Diciembre de 2001,
ambos fueron raticados por los estndares Internacionales ECMA.[3][4] ISO tambin sigui los pasos para abril de
2003.
Mientras Microsoft y sus socios de negocios ganaban patentes para los lenguajes CLI y C#, ECMA e ISO solicitaron
que era esencial que la implementacin estuviera disponiEs el encargado de proveer lo que se llama cdigo adminis- ble bajo trminos no discriminatorios. Adems de alcantrado, es decir, un entorno que provee servicios automticos zar estos trminos, las compaas tambin accedan a dejar
al cdigo que se ejecuta. Los servicios son variados:
estas patentes disponibles. Sin embargo, esto no aplic para la parte del .NET Framework, que no est cubierto por
Cargador de clases: permite cargar en memoria las cla- los estndares ECMA/ISO. Esto incluye Windows Forms,
ses.
ADO.NET y ASP.NET.
7.3.1
Caractersticas
13
Generacin de cdigo
Manejo de idiomas
Auto descripcin de cdigo
Compilacin de cdigo
Administracin de memoria
Cifrado de datos
Transmisin y recepcin de datos por distintos medios La Biblioteca de Clases Base se clasica, en cuatro grupos
(XML, TCP/IP)
clave:
14
ASP.NET y Servicios Web XML
Windows Forms
ADO.NET
.NET
7.10
Referencias
7.7 Ensamblados
7.11
Enlaces externos
Un ensamblado es un compilado EXE o DLL que contiene cdigo CIL que se genera desde los diferentes lenguajes
.NET, y que es ejecutado por el CLR. Puede contener una
o varias clases al igual que uno o varios namespaces.[5]
Los ensamblados pueden tener diferentes decoradores que
denen el entorno de ejecucin de los mismos COM+,
DCOM, Remoting, etc.
7.8 Versiones
7.9 Vase tambin
Microsoft Visual Studio .NET
.NET Show
Captulo 8
ADO.NET
8.1
Arquitectura
8.1.1
.NET 3.0
WCF
(Indigo)
WPF
(Avalon)
CardSpace
(InfoCard)
Data provider
WF
(Workflow)
Connection: Proporciona una conexin usada para comunicarse con la fuente de datos. Tambin acta como
Abstract Factory para los objetos command.
Windows
(Windows XP, Windows Server 2003/R2
Vista/Longhorn)
PC Hardware
8.1.2
DataSets
15
Un objeto DataSet representa un esquema (o una base de datos entera o un subconjunto de una). Puede
contener las tablas y las relaciones entre esas tablas.
16
CAPTULO 8. ADO.NET
Un objeto DataTable representa una sola tabla 8.2 ADO.NET y Visual Studio .NET
en la base de datos. Tiene un nombre, las, y columnas.
En el IDE Visual Studio .NET existe la funcionalidad para
crear las subclases especializadas de las clases del DataSet
Un objeto DataView se sienta sobre un
para un esquema particular de base de datos, permitiendo
DataTable y ordena los datos (como una
el acceso conveniente a cada campo a travs de propiedades
clusula order by de SQL) y, si se actifuertemente tipadas. Esto ayuda a capturar ms errores de
va un ltro, ltra los registros (como una
programacin en tiempo de compilacin y hace ms til la
clusula where del SQL). Para facilitar escaracterstica Intellisense del IDE.
tas operaciones se usa un ndice en memoria. Todas las DataTables tienen un ltro por
defecto, mientras que pueden ser denidos
cualquier nmero de DataViews adiciona- 8.3 ADO.NET Entity Framework
les, reduciendo la interaccin con la base de
datos subyacente y mejorando as el desemEl ADO.NET Entity Framework es un conjunto de APIs
peo.
de acceso a datos para el Microsoft .NET Framework,
Un DataColumn representa una co- apuntando a la versin de ADO.NET que se incluye con
lumna de la tabla, incluyendo su nom- el .NET Framework 3.5. Fue lanzado como actualizacin
bre y tipo.
separada junto con el Service Pack 1 para el .NET Fra Un objeto DataRow representa una so- mework, despus del lanzamiento de tanto el .NET Framela la en la tabla, y permite leer y actua- work 3.5 y el Visual Studio 2008. Una nueva versin del
lizar los valores en esa la, as como la Entity Framework (v 4.0) ser liberada junto al Visual Sturecuperacin de cualquier la que est dio 2010 y el .NET Framework 4.0.
relacionada con ella a travs de una re- Una entidad del Entity Framework es un objeto que tiene
lacin de clave primaria - clave extran- una clave representando la clave primaria de una entidad
jera.
lgica de datastore. Un modelo conceptual Entity Data Mo Un DataRowView representa una sola del (modelo Entidad-Relacin) es mapeado a un modelo de
la de un DataView, la diferencia entre esquema de datastore. Usando el Entity Data Model, el Fraun DataRow y el DataRowView es im- mework permite que los datos sean tratados como entidades
portante cuando se est interactuando independientemente de sus representaciones del datastore
subyacente.
sobre un resultset.
El Entity SQL es un lenguaje similar al SQL para consultar
el Entity Data Model (en vez del datastore subyacente). Similarmente, las extensiones del Linq, Linq-to-Entities, proporcionan consultas tipeadas en el Entity Data Model. Las
consultas Entity SQL y Linq-to-Entities son convertidas internamente en un Canonical Query Tree que entonces es
Un Constraint describe una propiedad de la ba- convertido en una consulta comprensible al datastore subse de datos que se debe cumplir, como que los yacente (ej. en SQL en el caso de una base de datos relavalores en una columna de clave primaria deben cional). Las entidades pueden utilizar sus relaciones, y sus
ser nicos. A medida que los datos son modica- cambios enviados de regreso al datastore.
dos cualquier violacin que se presente causar
excepciones.
Un DataRelation es una relacin entre las tablas, tales como una relacin de clave primaria clave ajena. Esto es til para permitir la funcionalidad del DataRow de recuperar las relacionadas.
8.4
Un DataSet es llenado desde una base de datos por un DataAdapter cuyas propiedades Connection y Command que
han sido iniciados. Sin embargo, un DataSet puede guardar su contenido a XML (opcionalmente con un esquema
XSD), o llenarse a s mismo desde un XML, haciendo esto
excepcionalmente til para los servicios web, computacin
distribuida, y aplicaciones ocasionalmente conectadas desconectados.
17
Captulo 9
Diagrama de clases
Diagrama de Clases
9.1.2
mbitos
Persona
+Nombre
+C.I
Trabajador
PAS
Universidad
+Nombre
+Ciudad
+Fecha Inicio
PDI
+Puesto
+Categoria
+administrar()
+investigar()
+ensear()
Estudiante
+Nombre
*
+C.I
Departamento
Est. Grado
Est. Doctorado
+Nombre
+Titulacion
+Programa
+colaborar()
+Realizar Tesis()
0..1
Doctor
Para indicar que un miembro posee un mbito de clasicador, hay que subrayar su nombre. De lo contrario, se asume
por defecto que tendr mbito de instancia.
9.1 Miembros
9.2
Relaciones
UML proporciona mecanismos para representar los miembros de la clase, como atributos y mtodos, as como infor- Una relacin es un trmino general que abarca los tipos especcos de conexiones lgicas que se pueden encontrar
macin adicional sobre ellos.
en los diagramas de clases y objetos. UML presenta las siguientes relaciones:
9.1.1
Visibilidad
9.2.1
9.3. DIAGRAMAS
19
Asociacin
9.3
Diagramas
Agregacin
Presenta las clases del sistema con sus relaciones estructurales y de herencia.
Professor
+ listOfStudents : list
1..*
Class
+ Students : list
Captulo 10
C Sharp
El ttulo de este artculo se muestra incorrectamente debido a limitaciones tcnicas. El ttulo correcto
es C#.
Hejlsberg lider el proyecto de desarrollo de C#. Anteriormente, ya haba participado en el desarrollo de otros lenguajes como Turbo Pascal, Delphi y J++.
10.1 Historia
Para los tipos de datos lgicos no existen conversiones automticas de tipo entero a bool.
10.3
Literales
En ocasiones, resulta ms sencillo usar un sistema numrico en base 16 en lugar de 10, para tal caso C# permite
especicar nmeros enteros en formato hexadecimal, y se
dene anteponiendo 0x, por ejemplo: 0xFF, que equivale a
20
10.5. CONSTANTES
255 en decimal.
C# tiene caracteres denominados secuencias de escape para
facilitar la escritura con el teclado de smbolos que carecen
de representacin visual.
C#, al igual que C++, dene un tipo de cadena de caracteres.
Dentro de la cadena de caracteres se pueden usar secuencias
de escape. Una cadena de caracteres puede iniciarse con el
smbolo @ seguido por una cadena entre comillas ("), en tal
caso, las secuencias de escape no tienen efecto, y adems la
cadena puede ocupar dos o ms lneas.
10.4 Variables
21
Toda conversin implcita no ocasiona prdida de informacin, truncamientos o redondeos.
Es posible (pero no siempre ocurre) que en una conversin explcita haya prdida de informacin, truncamientos o redondeos.
En toda conversin implcita el tipo de dato destino es
mayor que el tipo de dato origen.
La conversin explcita se realiza indicando el tipo de
dato al que se quiere convertir entre parntesis, seguido
del valor:
long valor = 123; // Conversin implcita long valor =
(long)123; // Conversin explcita
Las variables son identicadores asociados a valores. Se declaran indicando el tipo de dato que almacenar y su iden- Adems de realizarse dentro de una asignacin, las conversiones de tipos tambin tienen lugar dentro de una expreticador.
sin, pues en cada operacin ambos operandos deben de
Un identicador puede:
ser del mismo tipo. Si la conversin es del tipo implcito se
efecta el siguiente algoritmo en dicho orden:
empezar por "_.
1. Si un operando es decimal, el otro operando se trans contener caracteres Unicode en maysculas y minsforma a decimal.
culas (sensible a maysculas y minsculas).
2. Si un operando es double, el otro operando se transforma a double.
Un identicador no puede:
empezar por un nmero.
10.5
Constantes
const
22
const double PI = 3.1415;
readonly
A diferencia de const, no requiere que se asigne el valor al
mismo tiempo que se declara. Pueden ser miembros de la
instancia o miembros estticos de la clase (static).
readonly double E; E = 2.71828;
10.6 Operadores
Los operadores aritmticos funcionan igual que en C
y C++.
El resultado de los operadores relacionales y lgicos es
un valor de tipo bool.
Los operadores de cortocircuito evalan el segundo
operando solo cuando es necesario.
Los operadores a nivel de bits no se pueden aplicar a
tipos bool, oat, double o decimal.
10.8
Mtodos
Un mtodo debe tener como mximo un nico parmetro params y ste debe ser el ltimo.
while
Ya que en C# las matrices se implementan como objetos, un mtodo tambin puede devolver una matriz
(algo que se diferencia de C++ en que las matrices no
son vlidas como tipos de valores devueltos).
C# implementa sobrecarga de mtodos, dos o ms mtodos pueden tener el mismo nombre siempre y cuando se diferencien por sus parmetros.
23
El mtodo Main es un mtodo especial al cual se reere int[,] intMultiArray = new int[3, 2]; // 3 las y 2 columnas
el punto de partida del programa.
ref
Declarar e inicializar una matriz multidimensional (el tamao de la matriz se puede omitir):
void PassRef(ref int x) { if (x == 2) { x = 10; } } int z = 0; int[,] intMultiArray = new int[,] { {1, 2}, {3, 4}, {5, 6} };
PassRef(ref z);
out
void PassOut(out int x) { x = 2; } int z; PassOut(out z);
params
int MaxVal(char c, params int[] nums) { // ... } int a =
1; MaxVal('a', 23, 3, a, 12); // El primer parmetro es
obligatorio, seguidamente se pueden poner tantos nmeros
enteros como se quiera
Sobrecarga de mtodos
int Suma(int x, int y) { return x + y; } int Suma(int x, int y,
int z) { return x + y + z; } Suma(1, 2); // Llamar al primer
mtodo. Suma(1, 2, 3); // Llamar al segundo mtodo.
Main
public static void Main(string[] args) { // ... }
10.10
Clases y objetos
10.9 Matrices
En C# las matrices se implementan como objetos.
Los ndices de las matrices comienzan en 0.
Ya que C# implementa las matrices como objetos, cada matriz tiene una propiedad Length que contiene el
nmero de elementos que puede alojar o tiene alojados.
Declarar una matriz:
La palabra clave static hace que un miembro pertenezca a una clase en vez de pertenecer a objetos de
dicha clase. Se puede tener acceso a dicho miembro
antes de que se cree cualquier objeto de su clase y sin
referencias a un objeto.
Un mtodo static no tiene una referencia this.
24
Un mtodo static puede llamar slo a otros mtodos class Clase { } Clase c1 = new Clase(); Clase c2 = new
static.
Clase(); bool b = c1 == c2; // Retornar 'false', ya que son
dos objetos distintos
Un mtodo static slo debe tener acceso directamente
a datos static.
Un constructor static se usa para inicializar atributos
que se aplican a una clase en lugar de aplicarse a una
instancia.
C# permite la sobrecarga de operadores (+, -, *, etc.)
con la palabra clave operator.
Al comparar objetos (==, !=, <, >, <=, >=) se comprueba si hacen referencia al mismo objeto.
Declarar una clase:
class Clase { }
Iniciar una clase (tambin llamado crear un objeto de la clase o instanciar una clase):
Clase c = new Clase();
Constructor (como si fuera un mtodo, pero con el nombre
de su clase):
class Clase { Clase() { // ... } }
Destructor (como si fuera un mtodo, precedido del smbolo '~'):
10.11
Cadenas de caracteres
Declarar una cadena de caracteres (como si fuera una variable de un tipo de dato como int o double):
class Clase { int i = 1; Clase() { this.Arrancar(); // Llamar string texto = Cadena de caracteres"; string texto = new
System.String(Cadena de caracteres); // Equivalente al
al mtodo 'Arrancar' del objeto } void Arrancar() { // ... }
anterior
}
static:
class Clase { static int i = 1; } Clase.i; // Retornar el valor string texto = Cadena de caracteres"; int i = texto.Length;
'1'. No hace falta crear un objeto, ya que al ser 'static', // Retornar '20'
pertenece a la clase.
Comparar dos cadenas:
operator:
10.12. EJEMPLOS
25
10.12
Ejemplos
10.13
Compiladores e IDEs
26
Gua de programacin de C#
Mtodos numricos en C#
Programacin con C#
Centro de desarrolladores de Visual C#
Desarrollo de Software en C# Comunidad virtual para
profesionales y/o estudiantes de habla castellana.
Blog de programacin, C#
Geeks.ms Blogs sobre desarrolladores de la plataforma
.NET y C#
Kit de desarrollo de software (SDK) de Microsoft
.NET Framework 2.0 (x86), (x64) e (IA64)
C# | WebProgramacin Artculos, ejemplos, fragmentos de cdigo, etc.
10.16.2
En ingls
Especicacin de C# 3.0
C# Tutorial
10.15 Referencias
[1] En ocasiones representado como 'C', donde el segundo carcter es un sostenido (sharp en ingls)
[2] James Kovacs (7 de septiembre de 2007). C#/.NET History
Lesson (en ingls). Consultado el 5 de agosto de 2011.
[3] Visual C# Developer Center, Frequently Asked Questions
About Visual C# .NET 2003 (en ingls)
En castellano
Captulo 11
Espacio de nombres
En programacin, un espacio de nombres (del ingls namespace), en su acepcin ms simple, es un conjunto de
nombres en el cual todos los nombres son nicos.
11.1
27
Vase tambin
Nomenclatura binomial
Nomenclatura qumica
Sistema Dewey de clasicacin
Digital object identier
Domain Name System
Direccin IP
Clasicacin de la Biblioteca del Congreso
Anexo:Catlogo de estrellas
Espacio de nombres XML
Captulo 12
Software Suscripciones
MSDN histricamente ha ofrecido un paquete de suscripcin segn el cual los desarrolladores tienen acceso y licencias de uso de casi todo el software de Microsoft que jams
se haya puesto a disposicin del pblico. Las suscripciones
son vendidos sobre una base anual, y el costo de hasta $
10939 USD por ao y por suscripcin, ya que se ofrece en
varios niveles. Los titulares de esas cuotas (excepto los ms
bajos de la biblioteca slo los niveles) recibir un nuevo
software de Microsoft en DVD o a travs de descargas cada pocas semanas o meses. El software generalmente viene
especialmente marcado en MSDN discos, pero contiene la
identidad o el volumen de venta de licencia de software a
medida que se libera al pblico.
28
29
den recibir las ediciones de principios de sistemas operativos de Microsoft u otros productos de Microsoft (las aplicaciones Microsoft Oce, Visual Studio, etc.)
Microsoft tambin ha acogido una serie de desarrolladores
centrados en conferencias en su campus de Redmond, que
los suscriptores de MSDN el privilegio de. Dependiendo del
tamao de la empresa y sus productos, estas conferencias
puede ser uno-a-uno y tener un solo foco.
Las universidades y escuelas secundarias pueden inscribirse en la MSDN Academic Alliance programa, que proporciona acceso a algunos desarrolladores de software de Microsoft para su ciencias de la computacin y estudiantes de
ingeniera (y posiblemente otros estudiantes o profesores
tambin). A MSDNAA cuenta no es una cuenta de MSDN
y no puede utilizarse para el acceso del abonado la seccin
de la pgina web de MSDN o de sus descargas.
12.3
MSDN Magazine
MSDN Blogs
30
MSDN Ocial Forums
MSDN Events
MSDN Beta search
MSDN Magazine
MSDN Wiki beta (Visual Studio, .NET -related documentation and software drop site. No talk pages yet Comments are meant to go elsewhere, such as Channel
9.)
Captulo 13
MSDN Library
MSDN Library (Biblioteca de desarrollo de Microsoft, en
Espaol) es la biblioteca ocial de Microsoft con la documentacin tcnica dirigida a los desarrolladores de la plataforma Microsoft Windows. MSDN representa la red de
desarrolladores de Microsoft.
La biblioteca contiene documentacin sobre el API utilizado con los productos de Microsoft as como cdigo de
ejemplo, artculos tcnicos, y sugerencias de programacin.
MSDN Library est disponible en la web y en CD y DVD
para suscriptores de pago. Inicialmente, la versin fsica
slo estaba disponible como parte de una suscripcin a
MSDN y actualizada de forma trimestral. Sin embargo, a
partir del ao 2006 puede ser descargada gratuitamente desde el Centro de descarga de Microsoft en formato de imagen
ISO[1][2][3] y el CD/DVD ya no se publica trimestralmente.
En su lugar, su publicacin coincide con las actualizaciones
de las versiones de software ms importantes (como Visual
Studio y la publicacin de Service Packs de Windows).[4]
13.2
Versiones
De octubre de 2001 MSDN Library es la ltima versin que incluye la documentacin y la integracin con
Visual Studio 6.0.[6]
La de enero de 2003 MSDN Library es la ltima versin que incluye la documentacin y la integracin con
Visual Studio. NET (2002).[6][7]
La de enero de 2006 MSDN Library es la ltima versin que incluye la documentacin y la integracin con
Visual Studio. NET 2003.[7]
De abril de 2007 MSDN Library fue la ltima versin
que incluye la documentacin y la integracin con Visual Studio 2005 (Service Pack 1).
31
32
13.4 Referencias
[1] Edicin de disco de MSDN Library ahora tambin libre
[2] MSDN Library para Visual Studio 2005 Service Pack 1
[3] MSDN Library para Visual Studio 2008
[4] Documentacin y Sistema de Ayuda Microsoft Developer
[5] Distribucin de la Comunidad MSDN
[6] ltima versin de MSDN Library para Visual Studio 6.0
[7] ltima versin de MSDN Library para Visual Studio. NET
[8] MSDN Library para Visual Studio 2008 SP1
Captulo 14
14.1 Introduccin
Los objetos son entidades que tienen un determinado estado, comportamiento (mtodo) e identidad:
El estado est compuesto de datos o informaciones; sern uno o varios atributos a los que se habrn asignado
unos valores concretos (datos).
El comportamiento est denido por los mtodos o
mensajes a los que sabe responder dicho objeto, es decir, qu operaciones se pueden realizar con l.
La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identicador (concepto anlogo al de identicador de una
variable o una constante).
Un objeto contiene toda la informacin que permite denirlo e identicarlo frente a otros objetos pertenecientes a
otras clases e incluso frente a objetos de una misma clase, al
poder tener valores bien diferenciados en sus atributos. A su
vez, los objetos disponen de mecanismos de interaccin llamados mtodos, que favorecen la comunicacin entre ellos.
Esta comunicacin favorece a su vez el cambio de estado en
los propios objetos. Esta caracterstica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado
y el comportamiento.
Los mtodos (comportamiento) y atributos (estado) estn estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de mtodos para poder tratar los atributos con los que cuenta. El
programador debe pensar indistintamente en ambos conceptos, sin separar ni darle mayor importancia a alguno de
ellos. Hacerlo podra producir el hbito errneo de crear
clases contenedoras de informacin por un lado y clases con
mtodos que manejen a las primeras por el otro. De esta
manera se estara realizando una programacin estructurada camuada en un lenguaje de programacin orientado
a objetos.
La POO diere de la programacin estructurada tradicional, en la que los datos y los procedimientos estn separados
y sin relacin, ya que lo nico que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programacin estructurada anima al programador a
pensar sobre todo en trminos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos
procedimientos manejan. En la programacin estructurada
solo se escriben funciones que procesan datos. Los programadores que emplean programacin orientada a objetos, en
cambio, primero denen objetos para luego enviarles mensajes solicitndoles que realicen sus mtodos por s mismos.
14.2
Origen
Los conceptos de la programacin orientada a objetos tienen origen en Simula 67, un lenguaje diseado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard, del Centro de Cmputo Noruego en Oslo. En este
centro se trabajaba en simulaciones de naves, que fueron
confundidas por la explosin combinatoria de cmo las diversas cualidades de diferentes naves podan afectar unas a
las otras. La idea surgi al agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada
clase de objetos de denir sus propios datos y comportamientos. Fueron renados ms tarde en Smalltalk, desarrollado en Simula en Xerox PARC (cuya primera versin fue
33
34
escrita sobre Basic) pero diseado para ser un sistema completamente dinmico en el cual los objetos se podran crear
y modicar sobre la marcha (en tiempo de ejecucin) en
lugar de tener un sistema basado en programas estticos.
Los componentes registrados como privados (private) tambin se heredan, pero como no pertenecen a la
clase, se mantienen escondidos al programador y slo
pueden ser accedidos a travs de otros mtodos pblicos. Esto es as para mantener hegemnico el ideal de
POO.
35
objeto pueden acceder a su estado. Esto asegura que
otros objetos no puedan cambiar el estado interno de
un objeto de manera inesperada, eliminando efectos
secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a
los datos internos del objeto de una manera controlada y limitando el grado de abstraccin. La aplicacin
entera se reduce a un agregado o rompecabezas de objetos.
36
Genie
Harbour
14.5 Resumen
La programacin orientada a objetos es un paradigma surgido en los aos 70, que utiliza objetos como elementos fundamentales en la construccin de la solucin. Un objeto es
una abstraccin de algn hecho o ente del mundo real, con
atributos que representan sus caractersticas o propiedades,
y mtodos que emulan su comportamiento o actividad. Todas las propiedades y mtodos comunes a los objetos se encapsulan o agrupan en clases. Una clase es una plantilla, un
prototipo para crear objetos; en general, se dice que cada
objeto es una instancia o ejemplar de una clase.
Eiel
Fortran 90/95
Java
JavaScript[2]
Lexico[3]
Objective-C
Ocaml
Oz
R
Pauscal [En espaol]
Perl[4]
PHP[5]
PowerBuilder
Python
Ruby
Self
Smalltalk[6]
ActionScript
Magik (SmallWorld)
ActionScript 3
Vala
Ada
VB.NET
C++
Visual FoxPro[7]
C#
Clarion
Clipper[1]
D
Object Pascal (Embarcadero Delphi)
Gambas
Lenguaje DRP
GObject
Scala[8]
37
38
Texto
Clase (informtica) Fuente: https://es.wikipedia.org/wiki/Clase_(inform%C3%A1tica)?oldid=80450283 Colaboradores: JorgeGG, Pilaf, Pacohc, Dodo, Opinador, El Moska, JavierCantero, Fmariluis, Airunp, Yrithinnd, Orgullobot~eswiki, RobotQuistnix, Varano, Echani, GermanX,
The Photographer, Jesuja, Otermin, Jstitch, BOTpolicia, CEM-bot, Sippel2707, Thijs!bot, Bot que revierte, JAnDbot, TXiKiBoT, Rei-bot,
Biasoli, Cinevoro, VolkovBot, Snakeyes, Technopat, Matdrodes, Muro Bot, BotMultichill, SieBot, Loveless, Tirithel, Practiko, Botito777, Alexbot, Aipni-Lovrij, BotSottile, AVBOT, Diegusjaimes, Luckas-bot, SuperBraulio13, Xqbot, Jkbw, Modulolunar, Adryitan, Botarel, TobeBot,
EmausBot, HRoestBot, Waka Waka, MerlIwBot, Elvisor, Helmy oved, RosenJax, Addbot, Coins, Fvalenzuela061 y Annimos: 63
Atributo (informtica) Fuente: https://es.wikipedia.org/wiki/Atributo_(inform%C3%A1tica)?oldid=83064370 Colaboradores: Sabbut, CEMbot, Technopat, Handradec, Practiko, Leonpolanco, LordT, Arjuno3, SuperBraulio13, Jkbw, Ganmedes, Tarawa1943, Grillitus, MerlIwBot,
JABO, Addbot, Matiia, HALOU, Sfr570 y Annimos: 13
Tipo de dato elemental Fuente: https://es.wikipedia.org/wiki/Tipo_de_dato_elemental?oldid=77059484 Colaboradores: Emijrp, Jesuja, Asocall, Loveless, Juan Mayordomo, Waeswaes, Grillitus, MerlIwBot, Addbot y DarkBlueZV
Tipo de dato Fuente: https://es.wikipedia.org/wiki/Tipo_de_dato?oldid=83221384 Colaboradores: Moriel, Sauron, Zwobot, Triku, Sms, Rsg,
Elwikipedista, Jsanchezes, Almorca, Renabot, Emijrp, Magister Mathematicae, Orgullobot~eswiki, RobotQuistnix, Superzerocool, Vitamine,
YurikBot, GermanX, KnightRider, The Photographer, Jesuja, Tomatejc, BOTpolicia, CEM-bot, Jorgelrm, Zsimo, Eamezaga, Fsd141, Alvaro qc, Srengel, JoaquinFerrero, JAnDbot, Nioger, Plux, Biasoli, Dusan, Cinevoro, Snakeyes, Technopat, Erl, Matdrodes, Elabra sanchez,
NudoMarinero, Muro Bot, Mel 23, Manw, Mafores, Tirithel, Leonpolanco, Juan Mayordomo, Kroji, UA31, AVBOT, David0811, MastiBot,
NicolasAlejandro, Diegusjaimes, Arjuno3, Luckas-bot, Ptbotgourou, Dangelin5, Barteik, Mcapdevila, SuperBraulio13, PAULOGARCIA2005,
Kender00, Manuelt15, Jkbw, Ricardogpn, BOTirithel, AnselmiJuan, PatruBOT, Ganmedes, EmausBot, AVIADOR, HRoestBot, PabloXeven,
Writkas, Rudygt, Waka Waka, WikitanvirBot, Mjbmrbot, Fernandoxxx, Antonorsi, Sebrev, Vichock, Vetranio, Ralgisbot, Syum90, Addbot,
Danieldu321, ConnieGB, Marjes99, Ignacio cervantes, DarkBlueZV, Jarould, Egis57, Fearinghealer y Annimos: 143
Common Language Runtime Fuente: https://es.wikipedia.org/wiki/Common_Language_Runtime?oldid=83347139 Colaboradores: RobotQuistnix, Paradoja, CEM-bot, HJPL, Thijs!bot, Gustronico, Biasoli, VolkovBot, Botito777, LucienBOT, MastiBot, Luckas-bot, DixonDBot,
Dinamik-bot, TjBot, GrouchoBot, EmausBot, ALobpreis, Addbot y Annimos: 9
Infraestructura de lenguaje comn Fuente: https://es.wikipedia.org/wiki/Infraestructura_de_lenguaje_com%C3%BAn?oldid=70047167 Colaboradores: Pino, Wikier~eswiki, Yrbot, BOTijo, Dangertn, Biasoli, Muro Bot, Bcnbits.com, XalD, Leonpolanco, Luckas-bot, SuperBraulio13,
Canyq, Waeswaes, EmausBot, Javiermarinros, MerlIwBot, KLBot2, Dexbot y Annimos: 6
Microsoft .NET Fuente: https://es.wikipedia.org/wiki/Microsoft_.NET?oldid=83012185 Colaboradores: Robbot, Drjackzon, Dodo, Rsg, Domaniom, Cinabrium, Almorca, Digigalos, Guille.hoardings, Airunp, Edub, Wornaki, Hari Seldon, Rembiapo pohyiete (bot), Murven, Alhen,
Superzerocool, Chobot, Paradoja, Luisdans, Baito, BOT-Superzerocool, FlaBot, BOTijo, YurikBot, GermanX, LoquBot, KnightRider, Rmarco, C-3POrao, FedericoMP, Eskimbot, Monta990, Chlewbot, Jago84, BOTpolicia, CEM-bot, Gabriel Acquistapace, Gafotas, Montgomery,
FrancoGG, Thijs!bot, Airwolf, Piculo, Un Mercenario, VARGUX, Locovich, Alex LE, Fjpatonnoblejas, Gngora, Mpeinadopa, JAnDbot,
Jugones55, Mauer uk07, Kved, Mansoncc, Muro de Aguas, TXiKiBoT, Xosema, Gustronico, Humberto, Netito777, Ale ashero, Bedwyr,
Biasoli, AlnoktaBOT, Cinevoro, Drever, Galandil, Matdrodes, Fernando Estel, Muro Bot, Edmenb, DevilishFreak, SieBot, Loveless, Macarrones, Daniel dj, BOTarate, Bot ashero, Ken123BOT, Mister Crujiente, Mafores, Yonseca, Xqno, Tirithel, Jarisleif, Artistadelpecado, Msucre,
Botelln, Pablo323, Grt, Furti, Hercule, Alexbot, Nerika, TrebleChaser, Btyner, AVBOT, David0811, LucienBOT, Poshista~eswiki, Diegusjaimes, Linfocito B, CarsracBot, HerculeBot, MVG MVG, Luckas-bot, Ratasxy, Riad.Bot~eswiki, Lucaseto, Rodrigo.guevara, LordboT, S3b4s5,
DSisyphBot, ArthurBot, Locobot, Xqbot, Jkbw, Rubinbot, Pedrovicenterosero, Surfaz, BOTirithel, TiriBOT, Gusbelluwiki, Linux65, Danielkolombia, Omerta-ve, Baac830911, Rro4785, PatruBOT, Calxami, Anabelix, Juaminen, Filipchu, Lucesilo, Ripchip Bot, Pamel3, Anabe2x,
Elim1v, Anam3, Blaz77, Nachosan, Jorge c2010, Savh, J. A. Glvez, Grillitus, JackieBot, ChuispastonBot, Walter.atg, GM83, Ruos, MerlIwBot, KLBot2, ChayitaBOT, Sebrev, MetroBot, Ninrouter, Rodpedja, Santga, Aleix 1379, Tarod, Jarould y Annimos: 176
ADO.NET Fuente: https://es.wikipedia.org/wiki/ADO.NET?oldid=82754145 Colaboradores: Pipepupo, GermanX, CEM-bot, HJPL, SkG, Locovich, Gsrdzl, Muro Bot, Rrrafa, Jkarretero, SieBot, Jarisleif, David.rgh, Nicop, Pablo323, AVBOT, LucienBOT, Luckas-bot, DSisyphBot,
ArthurBot, SuperBraulio13, D'ohBot, Halfdrag, Rro4785, PatruBOT, GustavoFischer, FaleBot, Gabrielm38, ChuispastonBot, EdoBot, Edc.Edc,
KLBot2, Elvisor, YFdyh-bot y Annimos: 25
Diagrama de clases Fuente: https://es.wikipedia.org/wiki/Diagrama_de_clases?oldid=83180014 Colaboradores: Airunp, Taichi, Gerkijel, Jlchavez, GermanX, Equi, The Photographer, Baneld, Jarke, CEM-bot, Cantero, Ignacio Icke, Isha, JAnDbot, JulGor, Aalvarez12, Rometern2,
Anthemfor182, Fixertool, Dusan, VolkovBot, Matdrodes, Keres, Muro Bot, SieBot, Jareyes, Leonpolanco, Ucevista, AVBOT, Vgrunberg, Diegusjaimes, Lautaro2k, Ezarate73, SuperBraulio13, Xqbot, Jkbw, Cvielma, Botarel, RedBot, PatruBOT, Victoriano Romn, Edslov, EmausBot,
Allforrous, Rubpe19, Jota.millan.bcn, WikitanvirBot, Rezabot, 5truenos, Jr JL, LlamaAl, Helmy oved, Legobot, Andres324070, OssKr, Nanocv
y Annimos: 122
C Sharp Fuente: https://es.wikipedia.org/wiki/C_Sharp?oldid=83158044 Colaboradores: Juancri, Sabbut, Moriel, Pablo.cl, ManuelGR, Sanbec, Bigsus, Interwiki, Dodo, Ascnder, Sms, Tostadora, Renacimiento, Krous~eswiki, Robotito, Slady, Suruena, Renabot, ZackBsAs, CamiloAndres, Emijrp, Rembiapo pohyiete (bot), Orgullobot~eswiki, Murven, RobotQuistnix, Superzerocool, Yrbot, BOT-Superzerocool, Oscar .,
BOTijo, YurikBot, GermanX, KnightRider, Gothmog, Jesuja, Eskimbot, Baneld, Gnovaro, Tomatejc, Kuanto, JorSol, Faelomx, Ivan romero,
Cad, Kn, DarK AnImA, CEM-bot, Tripy, Anonimato1990, Ranagha, CF, Montgomery, Thijs!bot, PabloCastellano, JoaquinFerrero, Locovich,
Chien, Yamaneko, Scmbg, TXiKiBoT, Netito777, Rei-bot, Vrrivaro, Chabbot, Plux, Developer, Biasoli, AlnoktaBOT, Cinevoro, VolkovBot,
Eber.irigoyen, Technopat, Jotego, Matdrodes, Elabra sanchez, Gorpik, Shooke, AlleborgoBot, Muro Bot, BotMultichill, SieBot, Loveless, Obelix83, Cobalttempest, Drinibot, Tirithel, Locos epraix, XalD, Javierito92, Krlo, DragonBot, Rizziac, Pablo323, Botito777, AngelDrup, Poco a
poco, Darkicebot, Nerika, Kadellar, SilvonenBot, UA31, AVBOT, Fefudito, LucienBOT, MastiBot, Diegusjaimes, DumZiBoT, Ferto, CarsracBot, Luckas-bot, Danmol10, Bifus, Ptbotgourou, FariBOT, Rafael1193, Rindokenzaki, SuperBraulio13, Manuelt15, Xqbot, Jkbw, Dreitmen,
39
Pedrovicenterosero, Damosu, Adryitan, Amgc56, RedBot, Neres, Abece, Patriciocs, PatruBOT, KamikazeBot, Dinamik-bot, TjBot, Edslov,
EmausBot, Savh, ZroBot, ChessBOT, Eldavan, UnRar, Jcaraballo, Ruos, Xerox 5B, Rezabot, MerlIwBot, KLBot2, AbelNightroad26, AvicBot, MetroBot, Invadibot, Sergiohs, Vetranio, Sophihurtado, TheDonWea, Flashlack, Addbot, Giliofelix, Yantime y Annimos: 197
Espacio de nombres Fuente: https://es.wikipedia.org/wiki/Espacio_de_nombres?oldid=77347696 Colaboradores: Chobot, Escarbot, Jorgeolaya, Caliver, Idioma-bot, Pavelancka, Biasoli, Muro Bot, Bigsus-bot, Fanattiq, AVBOT, EmausBot, Sergio Andres Segovia, MerlIwBot, Zerabat,
Addbot y Annimos: 8
Microsoft Developer Network Fuente: https://es.wikipedia.org/wiki/Microsoft_Developer_Network?oldid=79950353 Colaboradores: Chobot, Oscar ., BOTijo, The Photographer, CEM-bot, Roberpl, Thijs!bot, Locovich, TXiKiBoT, Marvelshine, Biasoli, Shooke, Muro Bot, Gabriellocutor, Pan con queso, Ssigfrrido, Rge, LucienBOT, Luckas-bot, Boto a Boto, Ptbotgourou, DiegoFb, ArthurBot, Rubinbot, Hprmedina,
Misamisa1, EmausBot, Allforrous, MerlIwBot, KLBot2, Jarould y Annimos: 9
MSDN Library Fuente: https://es.wikipedia.org/wiki/MSDN_Library?oldid=66864358 Colaboradores: Cidfadon, Aungari, LucienBOT,
Luckas-bot, Nachosan, EmausBot y KLBot2
Programacin orientada a objetos Fuente: https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos?oldid=83206425 Colaboradores: AstroNomo, Andre Engels, Moriel, Sauron, Pieter, Hashar, ManuelGR, Robbot, Raul2010~eswiki, Angus, Caravena, Vivero, Comae, Rosarino, Dodo, Crescent Moon, Ascnder, Sms, Elwikipedista, Tano4595, Barcex, JavierCantero, Jecanre, Ivan.Romero, MatiasBellone,
Identy, Niqueco, SergioVares, Soulreaper, Joji, Airunp, Nulain, Alejolp, JMPerez, Taichi, Rembiapo pohyiete (bot), El Padrino, Dem, Funin, Josuemb, Murven, Byj2000, Alhen, Superzerocool, Yrbot, Vitamine, BOTijo, YurikBot, Icvav, GermanX, ZeruGiran, KnightRider, The
Photographer, Edwardcetera, Jesuja, Txo, Otermin, Lasneyx, Spc, Tomatejc, Aleator, Jstitch, BOTpolicia, l, Manawo, Chguer, CEM-bot,
Jorgelrm, Tute, Laura Fiorucci, Mariano12 1989, X.Cyclop, Anonimato1990, Antur, Montgomery, Alvaro qc, PabloCastellano, Mahadeva,
Yeza, JoaquinFerrero, IrwinSantos, Kavanagh, Cratn, Isha, Egaida, Mpeinadopa, JAnDbot, Kved, Mansoncc, Muro de Aguas, TXiKiBoT, SuperJoe, Anthemfor182, Bot-Schafter, Humberto, Netito777, Xsm34, Sirpuppet, Idioma-bot, Plux, Jmvkrecords, Developer, Biasoli, Cinevoro,
VolkovBot, Technopat, Queninosta, Nesita02, Erl, Penguino, Matdrodes, FJJW, Etnas, Carocbax, DJ Nietzsche, Muro Bot, Edmenb, Otherox, Dj Merlin, Soynatan, SieBot, ESTEBAN ESPINOZA, Carmin, Mel 23, Manw, Pascow, Pedro Felipe, Aleposta, Tirithel, Locos epraix,
Ing moi, Javierito92, Marcecoro, HUB, Nicop, DragonBot, Lentucky, Farisori, Estirabot, Tosin2627, Eduardosalg, Leonpolanco, Pan con queso, Pablo323, Cosmox, Furti, Poco a poco, Tonchizerodos, Alexbot, Darkicebot, Serser, Prision3ro, BodhisattvaBot, Raulshc, Aipni-Lovrij,
SilvonenBot, Camilo, UA31, Abajo estaba el pez, AVBOT, David0811, Angel GN, MarcoAurelio, Carok, Diegusjaimes, DumZiBoT, CarsracBot, HerculeBot, Arjuno3, Juvalen, Andreasmperu, Luckas-bot, Spirit-Black-Wikipedista, Yonidebot, ArthurBot, Milyka, SuperBraulio13,
Xqbot, Jkbw, Dreitmen, Leonardo Tadei, Pedrovicenterosero, FrescoBot, Ricardogpn, Metronomo, Botarel, BOTirithel, Hprmedina, Halfdrag,
Bitman28, Marsal20, Vubo, Maaksz2, El mago de la Wiki, PatruBOT, Dinamik-bot, LilyKitty, TjBot, Akira 999, Foundling, EmausBot, Sergio
Andres Segovia, Africanus, Superbenja, J053d, Minirobots, Wrdhat, Emiduronte, MadriCR, Waka Waka, Penavarro09, Tokvo, MerlIwBot,
Raymonddoyle, MetroBot, Bibliolotranstornado, DLeandroc, Helmy oved, Syum90, Lautaro 97, Josefergui, Lamauro, Jean70000, Addbot,
Balles2601, Jmas131, Machado Ortiz, DarkBlueZV, Jlopezsilva, Jarould, Matiia, DavidBorjaM, Vivi bos y Annimos: 617
14.10.2
Imgenes
40
14.10.3
Licencia de contenido