Eine weitere Neuerung in C# 6 ist using static. Dies ermöglicht den Import statischer Klassen und die Verwendung der verfügbaren Member ohne voll qualifizierter Angabe. Hier ein Beispiel: using static System.Math; class Program { static void Main(string[] args) { System.WriteLine(Cos(3)); } } Auch der Import von enums ist möglich: using static System.Environment; using static System.Environment.SpecialFolder; …
Schlagwort-Archive: .NET
C# 6: Neuerungen im Überblick – Serie
Lerne durch diese Serie die wichtigsten neuen Funktionen und Möglichkeiten von C# 6 kennen. Beispiele inklusive.
C# 6: Exception Filters
Exception Filters sind neu in C# 6. Dieser Beitrag erkärt wie sie funktionieren.
C# 6: String Interpolation
String.Format ist eine der ersten Funktionen, die beim Erlernen von einer Sprache unter .NET zum Einsatz kommt. Damit kann man sich ja quasi ein Template mit Platzhaltern definieren. In diese Platzhalter werden dann Werte eingefügt und – falls angegeben – entsprechend formatiert. Das ist bei einem Wert oder zweien nicht so schlimm, kann aber bei …
C# 6: nameof Expression
nameof ist eine richtig hilfreiche Sache um all diese magischen Strings aus dem Sourcecode raus zu bekommen. Gerade zu WPF-Zeiten waren entsprechende Workarounds besonders in Zusammenhang mit INotifyPropertyChanged etc. gefragt. Hier ein solches Beispiel: public class Person : INotifyPropertyChanged { private string firstName; public string FirstName { get { return firstName; } set { firstName …
C# 6: Auto-Property Initializers
In C# 3 wurden die Auto-Implemented Properties eingeführt. Auf Deutsch besitzen sie den wohlklingenden Namen Automatisch implementierte Eigenschaften. Sie werden so definiert: public DateTime CreateDate { get; set; } Dabei erstellt der Compiler im Hintergrund ein “unsichtbares” Attribut, welches einen etwaigen Wert enthält. Nun ist es aber unpraktisch, einer derartigen Eigenschaft einen Default-Wert zu verpassen: …
C# 6: Null-conditional Operator
Wer kennt es nicht, das ständige Prüfen auf null bevor auf Eigenschaften zugegriffen oder Methoden ausgeführt werden. Damit wollen wir eine NullReferenceException möglichst vermeiden. Diese Prüfungen sehen etwa wie folgt aus: Person firstPerson = null; var newAddress = new Address(); if (firstPerson != null) { firstPerson.Relocate(newAddress); } Weit schlimmer sieht das bei komplexeren Objektbäumen/Datenstrukturen aus. …
Visual Studio 2015 ist da!
Seit 20. Juli 2015 steht Visual Studio 2015 zur Verfügung. Zeitgleich wurde .NET in der Version 4.6 veröffentlicht. Auch dieses Mal gab es wieder zahlreiche Neuerungen und Verbesserungen.
Statischer Fileserver mit Owin
Mittels Owin ist es einfach, statische Inhalte über einen Webserver zur Verfügung zu stellen. Dieser Beitrag zeigt, wie ein einfacher Fileserver implementiert wird und welche Möglichkeiten insgesamt zur Verfügung stehen.
Owin Logging Middleware
Owin ist eine interessante Sache um Web-Anwendungen zu schreiben, die von beliebigen .NET basierenden Webservern gehostet werden können. Eine Einschränkung auf den IIS ist nicht gegeben (was dann auch diverse Handler-Implementierungen betrifft). Ich setze in der letzten Zeit auf Owin, zumal ich immer seltener via IIS hoste und mir auch eben diese Abhängigkeit nicht gefällt. Dieser Beitrag zeigt, wie Owin einfach um eine Middleware erweitert werden kann.