NET Stammtisch Konstanz-Kreuzlingen C# 6.0

  • View
    1.394

  • Download
    0

  • Category

    Software

Preview:

DESCRIPTION

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

Citation preview

.NET Stammtisch Konstanz-Kreuzlingen

C# 6.0 ?!

Giesswein-AppsConsulting | Entwicklung | Training

Twitter: @giessweinweb

About Me

• Ing. Christian Giesswein, BSc.christian@giesswein-apps.at

• 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 Giessweinchristian@giesswein-apps.at

www.giesswein-apps.at@giessweinweb

Recommended