Curso c sharp

378 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
378
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Curso c sharp

  1. 1. Programando en C# Angel “Java” Lopez http://www.ajlopez.com/
  2. 2. Agenda .NET Framework El lenguaje C# Visual Studio .NET Aplicaciones de Ventanas Aplicaciones ASP.NET Acceso a Datos
  3. 3. El .NET Framework
  4. 4. Framework y Herramientas VB C++ C# JScript J# Herramientas: Common Language Specification ILDASM Visual Studio.NET ASP.NET Windows DUMPBINWeb Forms Web Services PE File Forms Format Viewer Mobile Internet Toolkit GAC.EXE Assembly ADO.NET and XML Registration Utility ILASM Base Class Library MSIL Assembler XSD.EXE Common Language Runtime Schema Definition Tool Sistema Operativo
  5. 5. Common Language RuntimeSimplifica drásticamente el desarrollo deaplicacionesProvee un entorno de ejecución robustoy seguroSoporta múltiples lenguajes deprogramaciónSimplifica la instalación y administraciónde las aplicaciones
  6. 6. Simplificar el Desarrollo Elimina completamente la “plomería”  No más registración, GUIDs, archivos .IDL, HRESULTs, IUnknown, AddRef/Release, CoCreateInstance, etc. Orientación a Objetos nativa  Soporte total de Clases y herencia  Aún a través de distintos lenguajes! Total Interoperabilidad  Cualquier clase .NET puede ser usada como una clase COM sin trabajo adicional  Las clases COM pueden importarse como clases .NET
  7. 7. Common Language Runtime Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine IL to Native Code Garbage Compilers Manager Collector Class Loader
  8. 8. Common LanguageSpecification Carácterísticas comunes a todos los lenguajes Sólo se aplica a los tipos visibles Tipos comunes Tipos primitivos Nombres de métodos, propiedades Soporte de Clases, Interfaces Palabras Reservadas
  9. 9. Common Type System Tipos simples  Int16  Int32  UInt32  String Tipos complejos  GUID  RegEx  DateTime  TimeSpan Todo es un objeto  Los tipos primitivos tienen clases correspondientes en el .NET Framework  Int es un alias de System.Int32 (que deriva de System.ValueType)
  10. 10. Tipos Valor Primitivos Son soportados directamente por el CLR y son parte del CTS Enteros  int8, int16, int32, int64, sin signo... Decimales  decimal (28 digitos) Reales  float32, float64 Caracteres UNICODE  char Booleanos  bool
  11. 11. Tipos Básicos de Referencia Object  El padre de todos los tipos Referencia String  Los String son objetos  La clase es final  Son inmutables
  12. 12. El lenguaje C#
  13. 13. Hola Mundousing System;class Hola { static void Main() { Console.WriteLine(“Hola Mundo"); }}
  14. 14. Otras Opcionespublic static void Main() { ...}public static int Main() { ... return 0;}public static int Main(string[] args) { ... return 0;}
  15. 15. Compilador de Línea deComando Crear código fuente: Hola.cs. Invocar compilador: csc Hola.cs Si está bien, se crea Hola.exe. Ejecutar: Hola
  16. 16. Estructura de un programa C# Namespaces  Tipos, espacios de nombres Declaración de tipos  Clases, interfaces, estructuras, enums, delegados Miembros  Campos, métodos, constantes, indexadores, propiedades, eventos, operadores, constructores, destructores
  17. 17. Namespace= Paquetes de Tiposnamespace N1 { // N1 class C1 { // N1.C1 class C2 {} // N1.C1.C2 } namespace N2 { // N1.N2 class C2 {} // N1.N2.C2 }}
  18. 18. Creando DLLs using System; namespace MyLibreria { public class ClaseSuma { public static long Suma(long i, long j) { return(i+j); } } } using System; namespace MiLibreria { public class ClaseMultiplica { public static long Multiplica(long i, long j) { return(i*j); } } }
  19. 19. Usando DLLsusing System;using MiLibreria;class MiCliente { public static void Main() { long suma = ClaseSuma.Suma(10, 10); Console.WriteLine(suma); long producto = ClaseMultiplica.Multiplicar(10, 10); Console.WriteLine(producto); }}
  20. 20. Tipos Valor (Value Types) primitivos  int i; enums  enum State { Off, On } structs  struct Point { int x, y; }
  21. 21. Enumsenum Suit { Clubs = 0; Diamonds = 1; Hearts = 2; Spades = 3;}…Suit s = Suit.Clubs;Console.WriteLine (s);…
  22. 22. Excepcionestry { throw new Exception(“Oops!”);} catch (Exception e) { … Maneja Excepción ……;} finally { … Código de limpieza, se ejecuta siempre…;}
  23. 23. Interfaces y Clasesinterface IFigure { int Area ();}class Square : IFigure { private int side; public Square (int side) { this.side = side; } public int Area () { return (side*side); }}
  24. 24. Constructoresclass B : A { public B (int x) : base (…,…,…) { ………… } public B (bool b) : this (…,…,…) { ………… } public B (char c) { ………… }}
  25. 25. Interfaces interface IA { void g (); } interface IB : IA { interface IC : IA { void f (); void f (); } } class X : IB, IC { void IA.g () { Console.WriteLine ("IA.g"); } void IC.f () { Console.WriteLine ("IC.f"); } void IB.f () { Console.WriteLine ("IB.f"); } }
  26. 26. Interfacesclass Test { public static void Main () { X x = new X (); ((IA)x).g(); ((IC)x).f(); ((IB)x).f(); }}
  27. 27. Métodos Virtualespublic class Dog { public virtual void RollOver () { Console.WriteLine("Scratch my tummy."); Bark(); } public virtual void Bark () { Console.WriteLine("WOOF WOOF (Dog)"); }}
  28. 28. Propiedades e Indexadoresclass Party { private int start; public int Start { get { return start; } set { start = value; } }}
  29. 29. Propiedades e Indexadoresclass Demo { public static Main () { Borrel b = new Party (); b.Start = 3; int x = b.Start; }}
  30. 30. Propiedades e Indexadoresclass Party { private Dictionary participants; public Borrel() { participants = new Dictionary(); } public bool this[String name] { get { return (participants.Contains(name) && (bool)participants[name]); } set { participants.Add(name,value); } }}
  31. 31. Visual Studio.Net
  32. 32. Nueva Interfaz de Desarrollo IDE derivada de VB6 Start Page Solution Explorer Varios proyectos en una solución Uno puede ser el principal
  33. 33. Ventanas Class View Properties Window Toolbox Server Explorer Web Form Designer Code Window
  34. 34. Ventanas Help dinámico Object Browser Compilando: Output Window Depurando: Command, Locals, Autos, Breakpoints Windows Disassembly, Memory Windows
  35. 35. Windows Forms
  36. 36. WinFormsusing System;using System.Window.Forms;using System.Drawing;public class MyForm : Form { public MyForm() { this.Text = “Hello World”; }}public class Demo { public static void Main() { Application.Run(new MyForm()); }}
  37. 37. Desarrollo Visual Nuevo System.Windows Los formularios son clases Los controles son clases Posicionamiento de los controles Propiedades Ciclo de vida de controles y formularios
  38. 38. Aplicación Windows Proyecto Aplicación Windows Formulario Diseñador de Formulario Código automático Controles Eventos
  39. 39. Controles y Formularios Nuevos controles Nuevas propiedades MDI Herencia de Formularios Uso de controles OCX Controles propios

×