Я использовал атрибут CallerMemberName
в реализации класса INotifyPropertyChanged
, как описано в MSDN следующим образом:
public event PropertyChangedEventHandler PropertyChanged;
// This method is called by the Set accessor of each property.
// The CallerMemberName attribute that is applied to the optional propertyName
// parameter causes the property name of the caller to be substituted as an argument.
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Однако использование параметров по умолчанию несовместимо с CLS. Но CallerMemberName
можно использовать только с параметрами, имеющими значения по умолчанию... Существует ли широко используемый способ решения этой несогласованности без вызова метода уведомления с жестко заданным строковым аргументом?