我正在使用 VS 2017 社区版我正在创建 MVVM 模式。安装 fody 后,我的代码出现错误,而本教程的讲师在 vs 2015 上实现了它,代码如下:
using PropertyChanged;
using System.ComponentModel;
namespace GProject_MVVM.ViewModel
{
/// <summary>
/// A base view model that fires Property Changed events as needed
/// </summary>
[ImplementPropertyChanged] // **I got error here**
public class BaseViewModel : INotifyPropertyChanged
{
/// <summary>
/// The event that is fired when any child property changes its value
/// </summary>
public event PropertyChangedEventHandler PropertyChanged = (sender, e) => { };
/// <summary>
/// Call this to fire <see cref="PropertyChanged"/> event
/// </summary>
/// <param name="name"></param>
public void OnPropertyChanged(string name)
{
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
}
[ImplementPropertyChanged] 在这一点上不应该出错,教师成功地实施了它,所以我的代码中是否缺少任何东西?错误说:
严重性代码描述项目文件行抑制状态错误 CS0619“ImplementPropertyChangedAttribute”已过时:“此配置选项已被弃用。此属性的用途是将 INotifyPropertyChanged 添加到具有关联事件定义的类中。之后,所有实现 INotifyPropertyChanged 的类都编织了它们的属性,不管它们是否具有 ImplementPropertyChangedAttribute。此属性通常被错误地解释为选择加入属性编织的方法,这既不是意图,也不是它的操作方式。此属性已替换为 AddINotifyPropertyChangedInterfaceAttribute。' GProject_MVVM c:\users\ahmed hussainy\documents\visual studio 2017\Projects\GProject_MVVM\GProject_MVVM\ViewModel\BaseViewModel。