[.NET]C#6.0 Getter Only Property

本文介紹 C#6.0 Getter Only Property
蠻可惜 Primary Constructor 最後沒有被加到 C#6.0之中

環境: Visual Studio 2015

當新增一個 Employee Class時,可以在建構子中先輸入屬性的Assign,按下 Ctrl + . ,

它會出現一個燈泡,提示我們可以做那些事項,建立屬性、變數 ...,而且還有 Preview 視窗哦。如下,

image

public class Employee
{
	public Employee(string firstName, string lastName)
	{
		FirstName = firstName;
		LastName = lastName;
		DateOfJoining = DateTime.UtcNow;
	}
	public DateTimeOffset DateOfJoining { get; private set; }
	public string FirstName { get; private set; }
	public string LastName { get; private set; }
}

 

在上面的建構子中的 DateOfJoining 的初始值,並不需要從參數來,所以可以不用寫建構子之中。

而且,如果這個值物件建立後,就不允許修改的話,可以將private set 拿掉,直接在屬性後面設定,如下,

public DateTimeOffset DateOfJoining { get;} = DateTime.UtcNow; //Getter Only Property

image

 

參考資料

Simplifying Classes with C# 6.0

Getter Only Auto-properties in C# 6.0

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^