Как я могу узнать, когда коллекция была отредактирована? - PullRequest
0 голосов
/ 22 июля 2010

У меня есть публичное свойство Items, это список.Я хочу сказать, когда это было изменено.Как я могу это сделать?

Например, если вызван Items.Add, я хочу иметь возможность затем вызвать UpdateInnerList.

Как я могу это сделать?

Ответы [ 3 ]

5 голосов
/ 22 июля 2010

Можете ли вы использовать ObservableCollection?

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

2 голосов
/ 22 июля 2010

Попробуйте ObservableCollection

Он поддерживает CollectionChanged событие, которое должно быть тем, что вам нужно.

2 голосов
/ 22 июля 2010

Как насчет создания подкласса List и переопределения метода Add?

void Main()
{
    var x=new MySpecialList<string>();
    x.Add("hello");
}

class MySpecialList<T>:List<T>
{
    public new void Add(T item)
    {
        //special action here
        Console.WriteLine("added "+item);
        base.Add(item);
    }
}
...