我编写控制台应用程序,它有队列集合,用作消息工厂。
有没有办法让集合在它变空时引发事件。
我只是不想开始自己拉它,不时检查它。
我想过使用ObservableCollection
,但是当它变空时,我没有看到一种方法来实现引发事件。
感谢帮助。
我编写控制台应用程序,它有队列集合,用作消息工厂。
有没有办法让集合在它变空时引发事件。
我只是不想开始自己拉它,不时检查它。
我想过使用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);
}
}