CallerMemberName не возвращает propertyName
Я работаю с кодом, который внезапно перестал работать. Я отследил проблему до функции CallerMemberName в.NET 4
Кажется, что он просто перестал работать, [CallerMemberName] String propertyName = "" Return "", даже если он вызывается из свойства "Speed". Ранее он работал нормально, и я проверил, что проект нацелен на ".NET Framework 4". Есть идеи, что может вызвать это?
Код недвижимости:
public double speed
{
get { return _speed; }
set
{
_speed = value;
NotifyPropertyChanged();
}
}
и это обрабатывается здесь:
//events
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
void RealTimeDashboard_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
case "speed":
NotifyPropertyChanged("speedDescription");
CalculateEfficency();
CheckEfficentConfigurations();
break;
}
}
Изменить: Установлен Пакет переносимости Microsoft BCL, и он ведет себя так же, но со следующим предупреждением:
Предупреждение 10 Тип 'System.Runtime.CompilerServices.CallerMemberNameAttribute' в 'D:\Projects...MainWindow.xaml.cs' конфликтует с импортированным типом 'System.Runtime.CompilerServices.CallerMemberNameAttribute' в 'd:\Projects...\ пакеты \Microsoft.Bcl.1.1.10\ Lib\net40\System.Runtime.dll". Используя тип, определенный в 'D:\Projects....\MainWindow.xaml.cs'. D:\Projects...AnOtherClass.xaml.cs