收集自动触发方法

本文关键字:方法 | 更新日期: 2023-09-27 18:18:48

我正在寻找一个集合对象,该集合对象在计数达到1000后自行调用方法。在这个例子中,当元素的计数达到1000时,我想处理它们。

的例子:

internal static Collection<string> elements=new collection<string>
public void someMethod()
{
    XDocument XD = null;
    XD = XDocument.Load("https://somewebservice.asp");
    var Value = XD.Descendants().where(x => x == "someAttribute").FirstorDefault();
    if(value != null)
    {
        elements.Add(value);
    }
    if(elemets.count() == 1000)
    {
        // Do Something
        // But i dont want to check the count every time 
        // I want the collection object to do the thing.. is there any method
        // that can do this?
    }
}

收集自动触发方法

您可以使用一个ObservableCollection,当集合被更改时触发一个事件。你可以在这个时候检查一下计数,然后做点什么。

var collection = new ObservableCollection<int>();
collection.CollectionChanged += (s, args) =>
{
    if (collection.Count == 1000)
        DoSomething();
};