下面的代码块是一个使用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; } }
输出将会是这样的
这个操作符的一个简单使用场景是在NotifyPropertyChanged事件处理或者调用PropertyChanged()事件。我们一般传送hardcode的属性名到eventhandler方法中来通知UI随属性改变。现在使用C# 6.0,你可以简单的使用nameof操作符来获得名字字符串了。
之前:
public string UserName { get { return _userName; } set { this.OnPropertyChanged("UserName"); } }
现在:使用C# 6.0
public string UserName { get { return _userName; } set { this.OnPropertyChanged(nameof(UserName)); } }