收集更改(添加或删除)时触发事件

时间:2009-10-22 14:16:59

标签: c# events

我有一个包含列表的类:

public class a
{
private List<MyType> _Children;
public Children
{
get {return(_Children);}
set {_Children = value ;}
}
}

我想创建一个事件并在我的列表(此处为_Children)更改时触发该事件,例如,项目已添加到其中或从中删除或已清除。

感谢

3 个答案:

答案 0 :(得分:20)

将您的列表更改为ObservableCollection<T>。它实现了INotifyCollectionChanged,因此您可以订阅更改事件。

如果您需要完整列表语义,另一个选择是使用BindingList<T>

答案 1 :(得分:3)

答案 2 :(得分:0)

或者,如果您想控制添加和删除方法并引发事件,请检查Collection<T>

http://msdn.microsoft.com/en-us/library/ms132397.aspx