集合属性应该是只读的
本文关键字:只读 属性 集合 | 更新日期: 2023-09-27 18:01:53
我使用FxCop为我的WPF MVVM程序集,它给了我错误
集合属性应该是只读的
但是在我的属性中,我需要RaisePropertyChangedEvent,现在如果我将属性设置为只能通过删除其设置部分来读取,我怎么能引发此事件。
语法有点像这样
public List Employees
{
get { return _employees; }
set
{
if (ReferenceEquals(_employees, value))
return;
_employees = value;
RaisePropertyChanged("Employees");
}
}
您很少需要在集合上引发PropertyChanged事件。将集合设置为可观察对象,以便在添加或删除项时通知任何绑定:
public IList<Employee> Employees
{
get;
private set;
}
// in your constructor:
this.Employees = new ObservableCollection<Employee>();
如果你把你的集合设置为ObservableCollection,那么"重要"事件将在项目被添加和从集合中删除时发生,而不是在集合被建立时发生。我同意FxCop的观点。将集合设置为只读,但将其设置为ObservableCollection