21
.NET Stammtisch Konstanz-Kreuzlingen C# 6.0 ?! Giesswein-Apps Consulting | Entwicklung | Training Twitter: @giessweinweb

NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Embed Size (px)

DESCRIPTION

.NET Stammtisch Konstanz-Kreuzlingen C# 6.0 mit Christian Giesswein am 11.06.2014

Citation preview

Page 1: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

.NET Stammtisch Konstanz-Kreuzlingen

C# 6.0 ?!

Giesswein-AppsConsulting | Entwicklung | Training

Twitter: @giessweinweb

Page 2: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

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

Page 3: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Die VergangenheitC# 6.0 ?!

Page 4: NET Stammtisch Konstanz-Kreuzlingen C# 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“)

Page 5: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Die GegenwartC# 6.0 ?!

Page 6: NET Stammtisch Konstanz-Kreuzlingen C# 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

Page 7: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

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?

Page 8: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Die ZukunftC# 6.0 ?!

Page 9: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

C# Gegenwart

C# 6.0 ?!

Ja! Mit „Roslyn“

Page 10: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

.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

Page 11: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

.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

Page 12: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Hands-OnC# 6.0 ?!

Page 13: NET Stammtisch Konstanz-Kreuzlingen C# 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

Page 14: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

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

Page 15: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

AusblickC# 6.0 ?!

Page 16: NET Stammtisch Konstanz-Kreuzlingen C# 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

Page 17: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Codeanalyse mit Roslyn

C# 6.0 ?!

Page 18: NET Stammtisch Konstanz-Kreuzlingen 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

Page 19: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Codeanalyse mit Roslyn

• CodeFix (Refactor)• ICodeFixProvider• [ExportCodeFixProvider(..,

LanguageNames.CSharp)]

• CodeAnalyze (Info, Warnung, Fehler)• ISyntaxNodeAnalyzer<SyntaxKind> • ISymbolAnalyzer• ExportDiagnosticAnalyzer(…,

LanguageNames.CSharp)]

• Momentan noch notwendig• [DiagnosticAnalyzer]

Page 20: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Fragen?!C# 6.0 – Ja!

Page 21: NET Stammtisch Konstanz-Kreuzlingen C# 6.0

Danke

Danke fürs vorbeischauen, mitdiskutieren, gähnen und Senf abgeben.

Christian [email protected]

www.giesswein-apps.at@giessweinweb