public class RunningTotal: INotifyPropertyChange
{
private int _total;
public int Total
{
get { return _total; }
set
{
_total = value;
PropertyChanged("Total");
}
}
...etc...
}
我的视图模型通过一个属性来公开它:
public RunningTotal RunningTotal { get; }
我的视图有一个与之绑定的文本块,即{Binding Path=RunningTotal.Total}
。
我的应用程序有一个后台线程,定期更新Total的值。假设没有其他更新Total的操作,我应该怎么做来使这一切线程安全?
现在,如果我想要类似的东西,但使用Dictionary<>
或ObservableCollection<>
类型的属性怎么办?哪些成员(add、remove、clear、indexer)是线程安全的?我应该使用ConcurrentDictionary吗?