Schlagwort: .NET

Liersch.JsonSerialization – Reflection-basierte JSON-Unterstützung für .NET

Liersch.JsonSerialization erweitert Liersch.Json um die Reflection-basierte Serialisierung und Deserialisierung. Auf Basis von Liersch.Reflection werden dabei Felder und Eigenschaften durch dynamisch generierten IL-Code effizient gelesen und geschrieben. Die Bibliothek ist für viele .NET-Plattformen geeignet.

Weiterlesen …

Liersch.Reflection – .NET-Bibliothek für bessere Performance

Liersch.Reflection verbessert die Performance der Reflection-API signifikant, indem für Konstruktor- und Funktionsaufrufe, sowie für Feldzugriffe dynamischer IL-Code erzeugt wird. Die Zugriffsgeschwindigkeit gleicht dadurch fast einem Direktzugriff. Es werden alle wichtigen .NET-Plattformen unterstützt (ab .NET Framework 2.0, ab .NET Core 2.0 und ab .NET Standard 2.1).

Weiterlesen …

Der sinnvolle Einsatz von Schnittstellen

Die große Stärke von Schnittstellen ist, dass sie nachträglich einer Ableitungslinie hinzugefügt werden können. In .NET wird bspw. die Schnittstelle IDisposable für das Dispose-Pattern verwendet. In Java dient die Schnittstelle AutoCloseable dazu, für Klassen die Verwendung der try-with-resources-Anweisung zu ermöglichen.

Weiterlesen …

Nullwerte für Wertetypen

Im .NET Framework sind Datentypen entweder Wertetypen oder Referenztypen. Wertetypen haben grundsätzlich einen Standardkonstruktor, der dafür sorgt, dass alle Member-Variablen mit ihrem Standardwert initialisiert werden. Als Standardwert wird dabei auf Speicherebene der Wert 0 verstanden. Es ist generell nicht möglich, für Wertetypen einen Standardkonstruktor zu implementieren.

Weiterlesen …