標籤:style blog http ar color os 使用 sp on
C# 6.0 引入了一個名為“nameof”的新的操作符,它的作用是接收元素而後返回元素名字。這個操作符能將class和class的所用成員,比如方法、變數以及屬性作為參數而後返回一個它們的名字。這避免我們在代碼中hardcode字串,也避免使用反射來獲得這些名字。
下面的代碼塊是一個使用nameof的簡單例子。
class Program{ static void Main(string[] args) { WriteLine(nameof(Student)); WriteLine(nameof(Student.Roll)); WriteLine(nameof(Student.Name)); WriteLine(nameof(Student.Address)); }}class Student{ public int Roll { get; set; } public string Name { get; set; } public Address Address { get; set; }}
View Code
輸出將會是這樣的
這個操作符的一個簡單使用情境是在NotifyPropertyChanged事件處理或者調用PropertyChanged()事件。我們一般傳送hardcode的屬性名稱到eventhandler方法中來通知UI隨屬性改變。現在使用C# 6.0,你可以簡單的使用nameof操作符來獲得名字字串了。
之前:
public string UserName{ get { return _userName; }set { this.OnPropertyChanged("UserName"); }}
View Code
現在:使用C# 6.0
public string UserName{ get { return _userName; } set { this.OnPropertyChanged(nameof(UserName)); }}
View Code
C# 6.0:nameof操作符