net stammtisch konstanz-kreuzlingen c# 6.0
DESCRIPTION
.NET Stammtisch Konstanz-Kreuzlingen C# 6.0 mit Christian Giesswein am 11.06.2014TRANSCRIPT
.NET Stammtisch Konstanz-Kreuzlingen
C# 6.0 ?!
Giesswein-AppsConsulting | Entwicklung | Training
Twitter: @giessweinweb
About Me
• Ing. Christian Giesswein, [email protected]
• Die bunte Welt von C#/.NET• C#, ASP.NET MVC, WCF, WPF, ADO.NET,..
• Fachzeitschriften & Konferenzen• DotNetPro• Windows Developer
• Giesswein-Apps• Consulting, Development & Schulungen
Die VergangenheitC# 6.0 ?!
C# Vergangenheit
Jahr .NET-Version C#-Version zusätzlich eingeführte Sprachelemente
2005 .NET 2.0 / 3.0 C# 2.0
GenericsPartielle TypenAnonyme MethodenIteratorenNullable-DatentypPrivate settersDelegatesKovarianz und Kontravarianz
2007 .NET 3.5 C# 3.0
Implizit typisierte VariablenObjekt- und Collection-InitialisiererAutomatisch implementierte PropertiesAnonyme DatentypenErweiterungsmethodenLINQLambda-ExpressionsExpression-TreesPartielle Methoden
2010 .NET 4.0 C# 4.0
Dynamisches BindingBenannte und optionale ArgumenteGenerische Co- und KontravarianzEmbedded Interop-Datentypen („NoPIA“)
Die GegenwartC# 6.0 ?!
Die Gegenwart
• Die Gegenwart sieht für uns natürlich :-) folgendermaßen aus:
• .NET 4.5.2 (Mai 2014) • C# 5.0
• TPL und async/await
• Visual Studio 2013 Update 2• „Native“-Entwicklung: Windows Store App• Webentwicklung: ASP.NET MVC 6.1 in der
Cloud
C# Gegenwart
• Wir befinden uns gegenwärtig in einer Zeit in der immer wieder hinterfragt wird:• Typisierte Sprachen wie C# / VB.NET /
Typescript?• Untypisierte, dynamische Sprachen wie
Javascript?
• Daraus ergibt sich natürlich die Frage:• Hat meine Lieblingssprache XYZ noch eine
Zukunft?
Die ZukunftC# 6.0 ?!
C# Gegenwart
C# 6.0 ?!
Ja! Mit „Roslyn“
.NET Compiler Platform: Roslyn
• Ist die neue .NET Compiler Plattform für Microsoft und „uns“• Roslyn ist ein Compiler für C# der in C#
geschrieben wird• Seit Anfang April ist eine CTP verfügbar
und es wurde Roslyn auch „Open-Source“ (Apache License 2.0)• https://roslyn.codeplex.com
.NET Compiler Platform: Roslyn
• Was interessiert den „Otto-Normal-Programierer“ Roslyn?• Visual Studio wird in naher zukunfg Roslyn
verwenden für all die Funktionen die wir heute kennen und lieben• Roslyn kann verwendet werden für
Refactoring und Codeanalyse• Mehr Funktionen werden im Visual Studio
ermöglicht und es wird schneller mehr Funktionen geben• .NET Community kann mit Roslyn selbst
Erweiterungen entwickeln
Hands-OnC# 6.0 ?!
Hands-On
• Wer mit Roslyn experimentieren will und ein wenig in die Zukunft blicken will:• Download
• Roslyn kann für Visual Studio 2013 heruntergeladen und dort integriert werden• C# „6.0“ heute schon möglich
C# Features mit Roslyn
Was “heute” schon funktioniert:
1. Initializers for auto-properties2. Primary constructors3. Using static on types4. Declaration expressions5. Exception filters6. Binary literals and digit separators (Try them
out in VB)
7. Indexed members and element initializers8. Await in catch and finally blocks9. Extension Add methods in collection
initializers
AusblickC# 6.0 ?!
Ausblick
• Anfang Juni wurde eine CTP von Visual Studio „14“ veröffentlicht und dieses Studio wird Out-Of-The-Box mit Roslyn als Compiler geliefert• Kann in einer VM oder per Azure Image
„ausprobiert“ werden
• Wieder neue Features in der IDE durch Roslyn• Roslyn Roadmap
Codeanalyse mit Roslyn
C# 6.0 ?!
Codeanalyse mit Roslyn
• Mit Roslyn ist es „sehr leicht“ eigene Codeanalysen zu erstellen• Per MEF werden in Visual Studio
Erweiterungen für Roslyn geladen• Per Attribute „Export“ieren
Codeanalyse mit Roslyn
• CodeFix (Refactor)• ICodeFixProvider• [ExportCodeFixProvider(..,
LanguageNames.CSharp)]
• CodeAnalyze (Info, Warnung, Fehler)• ISyntaxNodeAnalyzer<SyntaxKind> • ISymbolAnalyzer• ExportDiagnosticAnalyzer(…,
LanguageNames.CSharp)]
• Momentan noch notwendig• [DiagnosticAnalyzer]
Fragen?!C# 6.0 – Ja!
Danke
Danke fürs vorbeischauen, mitdiskutieren, gähnen und Senf abgeben.
Christian [email protected]
www.giesswein-apps.at@giessweinweb