下面的代码块是一个使用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));
}
}