The new C # 6.0 nameof great in the PropertyChanged template for propagating property changes, using something like:
private string _myProperty; public string MyProperty { get { return _myProperty; } set { _myProperty= value; OnPropertyChanged(nameof(MyProperty)); } }
When listening to property changes, I use this (yes, even with ugly hard-coded strings):
private void OnMyObjectPropertyChanged(object sender, PropertyChangedEventArgs args) { switch (args.PropertyName) { case "MyProperty": DoSomething(); break; } }
With a new expression name, will this code compile / work?
private void OnMyObjectPropertyChanged(object sender, PropertyChangedEventArgs args) { switch (args.PropertyName) { case nameof(MyObject.MyProperty): DoSomething(); break; } }
Roger source share