grundlagen net n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Grundlagen .NET PowerPoint Presentation
Download Presentation
Grundlagen .NET

Loading in 2 Seconds...

play fullscreen
1 / 26
hermione

Grundlagen .NET - PowerPoint PPT Presentation

0 Views
Download Presentation
Grundlagen .NET
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Grundlagen .NET Hilmar Salomo Microsoft Student Consultant Student der Informatik FH Augsburg i-hilsal@microsoft.com Tobias Richling Microsoft Student Partner Student der Wirtschaftsinformatik Universität Münster tobias.richling@studentprogram.de Grundlagen .NET STC 02. – 03. Juni 2004

  2. Ziele • Praxis !!! • Verständnis der Vision hinter .NET • Theoretische Kenntnisse in C# • Praktische Kenntnis im Umgang mit C# Grundlagen .NET STC 02. – 03. Juni 2004

  3. Gliederung • Warum .NET? • Relevante Sprachfeatures von C# • Praxis • Zusammenfassung Grundlagen .NET STC 02. – 03. Juni 2004

  4. Warum .NET: Softwareinseln Warum .NET Sprachfeatures Beispiel Zusammenfassung ? ? ? ? Grundlagen .NET STC 02. – 03. Juni 2004

  5. Warum .NET: Probleme Warum .NET Sprachfeatures Beispiel Zusammenfassung • Schwieriges Deployment • DLL Hell • Versionierung • Nicht interoperabel da inkompatibel • Typsystem • unterschiedliche Technologien • Alte Techniken, z.T. nicht Objektorientiert • Sicherheitsmängel Grundlagen .NET STC 02. – 03. Juni 2004

  6. Warum .NET: Vision Warum .NET Sprachfeatures Beispiel Zusammenfassung Grundlagen .NET STC 02. – 03. Juni 2004

  7. Warum .NET: Vorteile Warum .NET Sprachfeatures Beispiel Zusammenfassung • Einfaches Deployment • Selbstbeschreibende Komponenten • Interoperabilität und Kompatiblität • Einheitliches Typsystem • Portierbares Framework • Vollständig Objektorientiert • Strenge Sicherheitsmechanismen • Sicherheit nach Codeidentität Grundlagen .NET STC 02. – 03. Juni 2004

  8. Grundbausteine des .NET Framework Warum .NET Sprachfeatures Praxis Zusammenfassung Security, Evidence Visual Studio.NET Intermediate Language VB C++ C# JScript J# Common Language Specifications Windows Forms Web Forms WebServices Windows- Applikation ASP.NET ADO.NET Base Class Library, XML Common Language Runtime, Common Type System Grundlagen .NET STC 02. – 03. Juni 2004

  9. Ausführungsmodell Warum .NET Sprachfeatures Praxis Zusammenfassung Sourcecode VB.NET VC#.NET VC++.NET Unmanaged Component Compiler Compiler Compiler Assembly Assembly Assembly IL-Code JIT Compiler NGEN CLR Managed Code Managed Code Managed Code Unmanaged Code Native Code CLR Services Operation System Services Grundlagen .NET STC 02. – 03. Juni 2004

  10. Metadaten - Reflection System.Type Felder Methoden . . . Person p = new Person(“Hilmar",“Salomo"); Person p Hilmar Salomo Warum .NET Sprachfeatures Praxis Zusammenfassung public class Person { public string firstName; public string lastName; public bool Save() { System.Type t = this.GetType(); foreach(FieldInfo f in t.GetFields()) { ... } } } Grundlagen .NET STC 02. – 03. Juni 2004

  11. Klassenbibliothek System.Web System.Windows.Forms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OleDb SqlClient XSLT Serialization Common SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Grundlagen .NET STC 02. – 03. Juni 2004 Serialization Globalization Resources Threading

  12. Sprachfeatures von C# Warum .NET Sprachfeatures Praxis Zusammenfassung • Typsystem und Typisierung • Zugriffsrechte • Klassen und Strukturen • Boxing und Unboxing • Enumerations • Felder • Properties und Indexer • Fehlerbehandlung • For Each Schleifen Grundlagen .NET STC 02. – 03. Juni 2004

  13. Typ System Warum .NET Sprachfeatures Praxis Zusammenfassung • Basiert auf dem Common Type System • Einheitliches Konzept • „Alles“ ist ein Objekt • Referenz- und Valuetypes Value Reference Interfaces Simple Types Classes Enums Arrays Structs Heap Stack Grundlagen .NET STC 02. – 03. Juni 2004

  14. Zugriffsrechte Warum .NET Sprachfeatures Praxis Zusammenfassung • Von C++ übernommen • public • protected • private • Erweiterungen in C# • sealed • internal • protected internal Grundlagen .NET STC 02. – 03. Juni 2004

  15. Klassen vs. Strukturen Warum .NET Sprachfeatures Praxis Zusammenfassung Struktur Klasse Interface Interface Field Field Properties / Indexer Properties / Indexer Methoden Methoden Events / Delegates Subclass Subclass Heap Stack Grundlagen .NET STC 02. – 03. Juni 2004

  16. Boxing und Unboxing Warum .NET Sprachfeatures Praxis Zusammenfassung • Werttypen können „boxed“ oder „unboxed“ werden • Boxing erlaubt Werttypen als Referenzen zu übergeben • Basiert auf der Tatsache, dass alles ein Objekt ist boxing double value; //Boxing object BoxedValue = value; //Unboxing value = (double)BoxedValue; Object Value Double Value unboxing Heap Stack Grundlagen .NET STC 02. – 03. Juni 2004

  17. Enumerations Warum .NET Sprachfeatures Praxis Zusammenfassung • Benannte Elemente anstatt Nummern • Stark typisiert • Einfacher zu nutzen: „Color.Red“ als „3“ enum Color { White, // 1 Red = 3, Green, // 4 Blue, // 5 Yellow = 5 // auch 5!!!}; Grundlagen .NET STC 02. – 03. Juni 2004

  18. Felder Warum .NET Sprachfeatures Praxis Zusammenfassung • Nullbasiert und typegebunden • Deklariert mit Type und Shape, aber ohne Grenze • Erzeugung mit „new“ und Grenzen oder Initialisierern • int [ ] SingleDim = new int [20]; • int [ , ] TwoDim = new [ ] {{1,2,3} {4,5,6}}; • int [ ] [ ] Jagged = new int [1] [ ]; Grundlagen .NET STC 02. – 03. Juni 2004

  19. Properties Warum .NET Sprachfeatures Praxis Zusammenfassung • Mischung aus Membern (Feldern) und Methoden • Nutzen bei • „readonly“ / „writeonly“ Feldern • Validierungen bei der Zuweisung / Berechnungen Klasse String test private String test; int wrong public property Name get String Name set String Name Grundlagen .NET STC 02. – 03. Juni 2004

  20. Properties Warum .NET Sprachfeatures Praxis Zusammenfassung public string name { get { return name; } set { name = value; } } Klasse String test private String test; int wrong public property Name get String Name set String Name Grundlagen .NET STC 02. – 03. Juni 2004

  21. Indexer Warum .NET Sprachfeatures Praxis Zusammenfassung • Konsistenter Weg, um Container zu erstellen • Basieren auf der Property Idee • Index Qualifizierer können von jedem Typ sein public object this[string index] { get { return Dict.Item(index); } set { Dict.Item(index) = value; } } Grundlagen .NET STC 02. – 03. Juni 2004

  22. Fehlerbehandlung Warum .NET Sprachfeatures Praxis Zusammenfassung • Try – Catch – finally Block try { // gefährlicher Code } Catch (e as Fehlerobjekt) { // Fehlerbehandlung } Finally { // Abschlussarbeiten } Try Fehler Kein Fehler Catch Fehlerobjekt Fehlerbehandlung Finally Abschlussarbeiten Grundlagen .NET STC 02. – 03. Juni 2004

  23. Foreach Schleifen Warum .NET Sprachfeatures Praxis Zusammenfassung • Einfach Iterationsmöglichkeit für Collections • Einsatz für alle Arrays und sonstige Collections • Können in eigenen Collections verwandt werden Point[] Points = GetPoints();foreach( Point p in Points ){ MyPen.MoveTo(p.x,p.y);} Grundlagen .NET STC 02. – 03. Juni 2004

  24. Zusammenfassung Warum .NET Sprachfeatures Praxis Zusammenfassung • Verständnis der Grundkonzepte von .NET • Überblick über die Grundlegenden Sprachfeatures von C# • Grundkenntnisse der Programmierung mit C# Grundlagen .NET STC 02. – 03. Juni 2004

  25. Fragen Vielen Dank für die Aufmerksamkeit! Haben Sie noch Fragen? Grundlagen .NET STC 02. – 03. Juni 2004

  26. Wie geht es weiter auf der STC…? Grundlagen .NET STC 02. – 03. Juni 2004