Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez...
-
Upload
vicenta-casado-suarez -
Category
Documents
-
view
221 -
download
0
Transcript of Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez...
![Page 1: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/1.jpg)
Teaching Microsoft® .NETAn Overview
Event programming using Visual C# .NETAna C. Gonzalez
Departamento de MatematicasM-305
This presentation is based on the presentation provided by Robert P. Plummer, Ph.D.LecturerDepartment of Computer ScienceStanford University
![Page 2: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/2.jpg)
• Microsoft .NET Framework overview
• The language: C#
• Microsoft Windows® Forms (Win Forms)
• .NET event model
Second course (continuation course)• Database programming (ADO.NET)
• Internet-based programming (ASP.NET)
– XML Web services– Web Forms
Components of the Course
![Page 3: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/3.jpg)
Course Component
Microsoft .NET Framework Overview
![Page 4: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/4.jpg)
Microsoft .NET Framework Overview
•Vamos a mostrar un cuadro general (BIG PICTURE) antes de comenzar a discutir los detalles.
• Idea general de los componentes (partes) de .NET y como se relacionan o encajan unos con otros.
• El cuadro general ayuda a entender cuales son algunos de los problemas que .NET resuelve.
Transparencia que está donde quiera que se quiere explicar o hablar de .NET
![Page 5: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/5.jpg)
Windows LINUX
Common Language Runtime
Framework Class Library
Common Language Specification
Microsoft Visual Basic®
.NET C++ C# Microsoft JScript® …
Mic
ros
oft V
isu
al S
tud
io
® .NE
T
Microsoft .NET Framework Architecture
![Page 6: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/6.jpg)
Microsoft .NET Framework Architecture
• Comenzamos poniendo en perspectiva la plataforma, descansa sobre el sistema operativo.
• Recordamos que el sistema operativo es el alma de la computadora, que coordina las actividades , etc
• .NET Framework(plataforma) nos facilita o nos provee un nivel de abstracción que nos facilita la interacción de nuestro programa(software) con el sistema operativo.
• El Common Language Runtime es el que se sabe comunicar y hablar con el sistema operativo.
![Page 7: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/7.jpg)
• Podemos pensar que el Common Language Runtime como una caja en la cual los programas de .NET se ejecutan .
• Provee:
• servicios de memoria
• Garbage collection
• Execution engine (la caja donde se ejecutan los programas)
![Page 8: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/8.jpg)
• Sobre el CLR está lo que se conoce como el:
• Framework Class Library (librería de muchas clases)
• Provee las diferentes plataformas• ADO.NET se usa para acceder base
de datos• ASP.NET permite escribir
programas para la internet
![Page 9: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/9.jpg)
• Sobre todo esto tenemos los lenguajes de programación
• Para que pueda ser un lenguaje .NET tiene que cumplir con lo que se conoce como :
• Common Language Specification:Conjunto de reglas, si uno va a implementar un lenguaje y hace que cumpla con esas reglas entonces se considera un .NET Language.
• Esto hace que puede interactuar con código escrito en otros lenguajes
![Page 10: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/10.jpg)
Common Language Runtime
• Execution environment
• Memory management
• Garbage collection
![Page 11: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/11.jpg)
Common Language RuntimeAmbiente donde se ejecutan los programas• El CLR esta administrando o denegando el
acceso a la memoria.• Memory management:
Cuando se crean nuevos objetos se crean en lo que se conoce como “manager heap”
• Garbage collection:Cuando un objeto no se necesita mas (releases its memory)
![Page 12: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/12.jpg)
Common Type System
• Hay dos tipos principales:Value typesReferente type
• Tenemos un sistema de Tipos-unificados donde los “value types” y “referente type” son todos objetos
• Todos comparten un comportamiento básico.• Esto es algo diferente de otros lenguajes de
programación
![Page 13: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/13.jpg)
Common Type System
![Page 14: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/14.jpg)
object
Common Type System
![Page 15: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/15.jpg)
object
value types reference types
Common Type System
![Page 16: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/16.jpg)
object
value types reference types
Common Type System
Primitive types (int, double, …)Allocated on stackAssignment copies valueDeallocated when defining block exitsUser-defined types: structs
![Page 17: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/17.jpg)
object
value types reference types
Classes, arrays, ...Allocated on managed heapAssignment copies referenceGarbage collected
Common Type System
Primitive types (int, double, …)Allocated on stackAssignment copies valueDeallocated when defining block exitsUser-defined types: structs
![Page 18: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/18.jpg)
• El Framework Class Llibrary provee muchas herramientas para usarla en nuestros programas.
•Está dividida en namespaces.
• El namespace System es el nivel más alto, contiene algunas definiciones y otros namespaces
• Drawing and graphing
![Page 19: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/19.jpg)
Framework Class Library
• System• System.Collections• System.Drawing• System.IO• System.Data• System.Windows.Forms• System.Web.UI• System.Web.Services• . . .
![Page 20: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/20.jpg)
Windows LINUX
Common Language Runtime
Framework Class Library
Common Language Specification
VisualBasic C++ C# JScript …
Visu
al Stu
dio
.NE
T
Microsoft .NET Framework Architecture
![Page 21: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/21.jpg)
• Ahora vamos ha hablar de cómo trabajan los lenguajes.• Proceso de Compilación• Sabemos que todos los lenguajes siguen o cumplen con
un common language specification. O sea que los lenguajes tienen las mismas reglas de juego.
• Todas están usando las mismas definiciones básicas para los tipos primitivos.
• Lo que ocurre aquí es que todos los compiladores compilan al mismo: lenguaje intermedio. (algo como si fuera assembly)
• Source code (Intermediate language)
![Page 22: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/22.jpg)
C#Code
C#Compiler
Visual BasicCode
Visual BasicCompiler
COBOLCode
COBOLCompiler
ILJIT
Compiler
NativeCode
![Page 23: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/23.jpg)
C#Code
C#Compiler
Visual BasicCode
Visual BasicCompiler
COBOLCode
COBOLCompiler
ILJIT
Compiler
NativeCode
Run Time
![Page 24: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/24.jpg)
• La idea de just-in-time compiler :• El compilador solo necesita entender un
lenguaje el IL • Lo compila en código nativo en el momento de
la corrida.• Cuando el usuario finalmente corre el programa,
se compila a código nativo según sea necesario (esa es la parte del just-in-time compilation)
• El proceso es completamente automático e independiente de cualquier cosa que se haga cuando se está preparando el programa.
![Page 25: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/25.jpg)
So What Do We Get from .NET?
• A managed execution environment
• Lots of libraries
• Application Programming Interfaces (APIs) for writing Internet-based software
![Page 26: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/26.jpg)
So What Do We Get from .NET? (continued)
• Language interoperability
• An Integrated Development Environment (IDE) for rapid development
• An interesting new language: C#
• Standards
![Page 27: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/27.jpg)
Windows LINUX
Common Language Runtime
Framework Class Library
Common Language Specification
VisualBasic C++ C# JScript …
Visu
al Stu
dio
.NE
T
Microsoft .NET Framework Architecture
![Page 28: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/28.jpg)
Course Component
C#
![Page 29: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/29.jpg)
C#: Why It’s Important
• Designed specifically for writing .NET code
- .NET Framework–specific language constructs
- Modern language features
― foreach― Properties― Indexers― Type safety
• An improvement over existing languages
![Page 30: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/30.jpg)
Operators and Expressions same as C++
Arrays 1-D, multi-D, jagged
Flow Control if/elseswitchgotocontinuebreakreturn
Iteration forforeachwhiledo/while
C#: Language Constructs
![Page 31: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/31.jpg)
• Single inheritance
• Can implement multiple interfaces
• Members– Fields, methods (including
constructors), properties, indexers, events
– Access control: public, protected, internal, private
– Static and instance members– Abstract (for polymorphism)
• Nested types
C#: Classes
![Page 32: Teaching Microsoft ®.NET An Overview Event programming using Visual C#.NET Ana C. Gonzalez Departamento de Matematicas M-305 This presentation is based.](https://reader036.fdocuments.us/reader036/viewer/2022081512/5665b4901a28abb57c923301/html5/thumbnails/32.jpg)
• Show examples that relate C# to languages they already know
• Command-line compiler
• Visual Studio .NET
C#: Getting Your Students Started