集合变空时通知观察者
本文关键字:通知 观察者 集合 | 更新日期: 2023-09-27 18:20:46
我正在编写控制台应用程序,它有队列集合,用作消息的工厂。
集合为空时,是否有某种方式会引发事件。
我只是不想开始自己拉它,不时地检查它。
我曾想过使用ObservableCollection
,但当它变空时,我看不到实现引发事件的方法。
谢谢你的帮助。
ObservableCollection
在集合的内容发生更改时激发其CollectionChanged
事件。只需勾选它,然后在事件处理程序中检查集合是否为Count == 0
。
您可以从ObservableCollectionEx
继承并添加自己的事件:
public class ObservableCollectionEx<T> : ObservableCollection<T>
{
public event EventHandler CollectionEmpty;
protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
{
if (this.Count == 0)
{
var eventCopy = this.CollectionEmpty;
if (eventCopy != null)
{
eventCopy(this, EventArgs.Empty);
}
}
base.OnCollectionChanged(e);
}
}