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

0 ответов

Другие вопросы по тегам