C# 6.0 – Lambda Expressions für Read-Only Properties

Als Ergänzung zu der Möglichkeit, in C# 6.0 ganze Methoden durch Lambda Expressions zu ersetzen, ist dies auch mit Read-Only Properties sehr simpel  möglich. Hierzu muss lediglich ein ähnlicher Aufbau wie bei den Methoden verwendet werden.

public string Name { get; private set; } 
public string BackwardsName => new string(Name.Reverse().ToArray());

C# 6.0 – Read-Only Auto-Properties vom Konstruktor initialisieren

In C# 6.0 hat Microsoft die Möglichkeit geschaffen, Read-Only Auto-Properties vom Konstruktor zu initialisieren. Auch dann, wenn diese keinen direkten Setter haben. Hierbei gibt es zwei Möglichkeiten. Die eine ist die direkte Initialisierung bei der Definition der Eigenschaft. Die andere ist vom Konstruktor aus. Und dies würde so aussehen:

public DateTime CreationTime { get; } = DateTime.Now;

Und hier noch die direkte Initialisierung vom Konstruktor aus:

public class MyObject
{
    public string Name { get; }
 
    public MyObject(string name)
    {
        Name = name;
    }
}

So wird ungewolltes überschreiben noch besser verhindert.