Actualizado el 21 de Marzo del 2018 (Publicado el 26 de Enero del 2018)
3.722 visualizaciones desde el 26 de Enero del 2018
15,8 MB
118 paginas
Creado hace 7a (29/06/2016)
Guía Visual C# 2010
Generalidades OOP, ver VB 2010.
Sobre WPF, ver WPF 2010.
A. P.
Visual C# 2010 v.1
Indice
Lenguaje C# 2010
Ensamblados
Compilación
Programas en C#
Entradas/Salidas
Ficheros
Decisiones y bucles
Excepciones
Preprocesamiento
Atributos
Reflexión
C# y Windows Forms
C# y WPF
Tipos
Arrays
Operadores
Clases
Herencia
Genéricos
Interfaces
Enumeraciones
Estructuras
Delegados
Eventos
Timers
A. P.
Visual C# 2010 v.1
2
Lenguaje C # 2010 [C # 4.0]
Indice
C# es un lenguaje de propósito general, seguridad de tipos, y orientado a objetos.
En C# todo son objetos, con sus propiedades y métodos.
C# tiene sistema de tipos unificado, derivando todos los tipos de System.Object.
C# fué diseñado por Microsoft para trabajar junto con .NET Framework.
Gestión de memoria, con el recolector de basura.
C# es case sensitive.
C# es un lenguaje strongly typed.
El aspecto formal del código C# es similar al de C++ y Java.
C# soporta static typing, forzando la seguridad de tipos en tiempo de compilación.
C# además añade seguridad dinámica de tipos en runtime.
C# se puede usar en linea comandos o con Visual Studio (Windows Forms o WPF).
C# se usa tipicamente para aplicaciones Windows, haciendo uso de .NET.
C# se usa también con ADO.NET, LINQ y otras funcionalidades de .NET.
C# se usa también para desarrollar aplicaciones Web [ASP.NET] y servicios Web.
A. P.
Visual C# 2010 v.1
3
Plataforma .NET
Otros lenguajes compatibles .NET
…
Lenguajes de
Visual Studio
Visual
Basic
C++
C#
J#
Definición de tipos,
bloques de programa,
y sus metadatos.
Common Type Specification [CTS]
Especificación
común lenguaje
Common Language Specification [CLS]
V
i
s
u
a
l
S
t
u
d
o
i
.
N
E
T
Biblioteca de clases
organizada en
Espacios Nombres
Servicios necesarios
para ejecutar una
unidad de código
Funciones del SO
[Windows]
A. P.
.NET Framework
Common Language Runtime [CLR]
Application Programming Interface [API]
Visual C# 2010 v.1
4
Generación de código intermedio y código máquina
Indice
Indice
Código fuente
VB2010
Código fuente
C++
Código fuente
C#
Compilador
VB2010
Compilador
C++
Compilador
C#
ENSAMBLADO: Common Intermediate Language, Metadatos, y Manifiesto
[ *.dll ó *.exe ]
Código independiente de la plataforma [CPU]
Compilador VB
“Just-in-Time” [JIT]
por CPU
Compilador C++
“Just-in-Time” [JIT]
por CPU
Compilador C#
“Just-in-Time” [JIT]
por CPU
A. P.
Código máquina ejecutable
[x86 machine instructions]
100100101010101010101010101010101010101010101
00
Visual C# 2010 v.1
5
Ensamblados
Indice
Código fuente
C#
Common Intermediate Language [CIL]
es un lenguaje intermedio, el mismo
para todos los lenguajes según CLR.
Los Metadatos describen en detalle los tipos
[clases, etc ] contenidos en el Ensamblado y
todos sus miembros.
Es la base de ‘’Intellisense’’, la reflexión,
‘’debugging’’, ‘’late binding’’ y otras
funcionalidades, y del propio compilador C#.
Compilador
C#
ENSAMBLADO: Common Intermediate Language [CIL], Metadatos, y Manifiesto
[.dll ó .exe]
Código independiente de la plataforma [CPU]
Ensamblado: Es la unidad resultado de la
compilación del código fuente.
Normalmente un ensamblado se corresponde
con un fichero .dll ó .exe.
Puede haber sin embargo ensamblados
multifichero, con varios módulos.
Es la unidad de despliegue en .NET, y
contiene el código compilado y metadatos
necesarios para correr el código bajo CLR.
El Manifiesto son metadatos sobre el
propio ensamblado, que lo identifican.
Contiene las referencias a ensamblados
externos, nº versión, autor, cultura
[pais, idioma] y otros datos.
Se puede examinar el contenido de un ensamblado con la herramienta ‘’ildasm.exe’’ (Intermediate Language Disassembler), que se
encuentra en directorio ‘’Archivos de programa\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe’’
A. P.
Visual C# 2010 v.1
6
Estructura de los ensamblados
Los ensamblados
contienen espacios de
nombres que a su vez
contienen las clases y
otros tipos.
Metadatos,
MSIL, y
Recursos,
se pueden
dividir en
varios ficheros.
Ensamblado
Manifiesto
Metadatos
(Tipos)
Código MSIL
Recursos
Manifiesto contiene lista de los
elementos contenidos en el
ensamblado, y la información
básica sobre el ensamblado.
Identificaciòn
Lista ficheros
(opcional)
Ensamblados
referenciados
Atributos
Ensamblado
cliente
(opcional)
Nombre
Version
Pais
(opcional)
Strong
Name
(opcional)
Descripción
……
Pais e idioma
Strong name
es una clave
encriptada
generada por
el autor que
identifica el
ensamblado.
El código se puede dividir en varios ficheros que
se compilan en un solo ensamblado, mediante el
proceso llamado linking (enlace).
Sólo puede haber 1 manifiesto en los
diferentes ficheros del ensamblado.
A. P.
Visual C# 2010 v.1
7
Ensamblados (continuación)
Indice
Private
Directorio
de la aplicación
Los ensamblados Private residen unicamente en el mismo
directorio que la aplicación que los referencia.
Las aplicaciones que mantienen una referencia a un
ensamblado Private necesitan una copia del ensamblado
en su mismo directorio. Si hay 10 aplicaciones que usen
un cierto ensamblado, tendrá que haber 10 copias.
La modalidad de distribución Xcopy hace uso de esto.
Los ensamblados Private se instalan
en el directorio llamado ‘’bin’’ bajo el
directorio de la aplicación.
Son privados de la aplicación.
Tanto los ensamblados Private como Shared pueden configurarse usando un fichero *.config.
Antes de desplegar un ensamblado en el GAC, hay
que asignarle un nombre seguro [strong name], para
identificar univocamente al autor del código .NET.
Shared
GAC
Global Assembly Cache
C:\Windows\assembly\
Ensamblado: Es la unidad resultado de
la compilación del código fuente.
Normalmente un ensamblado se
corresponde con un fichero .dll o .exe.
Puede haber sin embargo ensamblados
multifichero, con varios módulos.
Es la unidad de despliegue en .NET, y
contiene código compilado y metadatos
necesarios para correr código bajo CLR.
Los ensamblados
contienen espacios de
nombres que a su vez
contienen las clases y
otros tipos.
Los ensamblados compartidos [Shared] son ficheros con firma
digital que se instalan en el Global Assembly Cache, lo que
permite disponer de una única copia, si ésta es de confianza.
GAC sólo admite ficheros .dll [ no .exe ].
Se puede examinar el contenido de un ensamblado con la herramienta ‘’ildasm.exe’’ que se
encuentra en ‘’Archivos de programa\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe’’
El GAC es un depósito de ensamblados compartidos.
Compartido significa que una aplicación puede hacer una
referencia a los ensamblados disponibles en GAC sin tener
que disponer de copias de los ensamblados, como ocurre
en la distribución Xcopy.
A partir de .NET 4.0, Microsoft ha decidido aislar los
ensanmblados en una ubicación única y diferente de
C:\Windows\assembly.
A. P.
Visual C# 2010 v.1
8
Runtime – CLR - en acción
Código fuente
en lenguaje
compatible
. NET
Compilador .NET
según lenguaje
El código ejecutado por
el CLR es seguro
‘’managed’’ porque usa
objetos, variables, etc,
gestionados por el CLR.
C# sólo opera con código
‘’managed’’.
C++ p.ej. puede ejecutar
también código inseguro
(unmanaged code).
El compilador C#
referencia mscorlib.dll
automaticamente.
Las clases de .NET son
comunes a todos los
lenguajes .NET.
Librerías de
Clases
[ mscorlib.dll ]
[ y otras ]
Ensam blado
*.dll o *.exe
[ CIL, Metadatos, Manifiesto ]
CIL es el único código que acepta el CLR.
CIL da a .NET su capacidad multilenguaje.
Los lenguajes que se puedan compilar a
CIL son programas compatibles .NET.
. NET Execution Engine
[ mscoree.dll ]
Cargador
Clase(s)
Jitter
Instrucciones
específicas de
Plataforma
Ejecución
miembro
The Common Language Runtime (CLR)
es el corazón de .NET.
CLR carga la aplicación con seguridad,
la aisla, gestiona la memoria y código,
compila en lenguaje nativo y ejecuta.
Una CPU sólo ejecuta instrucciones
en formato de lenguaje máquina.
A. P.
Visual C# 2010 v.1
9
Visión general de tareas
Indice
Windows Forms
[ opción WPF]
C# [ VB, u otros lenguajes compatibles .Net ]
Programación por objetos
Los objetos interactúan entre sí,
y con el usuario,
y responden a eventos
Web Forms
[ASP.Net]
Crear
interfaz
usuario
Escribir
código
Debug
and Deploy
Uso de Visual
Studio 2010
Acceso
a datos
Depurar e
implantar
- ADO.Net
- LINQ
A. P.
Visual C# 2010 v.1
10
Entornos C#
Indice
Consola
Linea Comandos
Visual C# en diferentes
entornos de programación
Visual Studio
Windows Forms
WPF
Windows Presentation Foundation
WCF
Windows Comunication Foundation
A. P.
Visual C# 2010 v.1
11
Compilación desde línea de comandos
Indice
El compilador C# compila código fuente, guardado en ficheros con extensión .cs, en un ensamblado (assembly).
Un ensamblado es la unidad de empaquetado y despliegue .NET, y puede ser una aplicación .exe o una librería .dll.
Una librería .dll equivale a un .exe, sin punto de entrada. Son llamadas (referenciadas) por aplicaciones u otras dll.
El compilador C# es csc.exe. Se guarda el programa, como .cs, p.ej. Prueba.cs y, desde su mismo directorio, llamar al compilador csc.
Genera ejecutable Prueba.exe.
Para generar una dll – Prueba.dll -
Comentarios de: Visual C# 2010 (0)
No hay comentarios