Кой клас задейства събитие CollectionChanged?

Имам ObservableCollection, която се манипулира от няколко класа. Искам да разбера кой клас е задействал събитието. Вече разгледах обекта на подателя и прегледах свойствата на NotifyCollectionChangedEventArgs, но не намерих нищо. Получавам само причината за събитието като: Нулиране, Добавяне или Премахване. Това, което търся, е оригинаторът.

private void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e){
    // if coming from one class do something

    // else if coming from another class do something else
}

Целта на това е, че имам нужда моята колекция да се държи по различен начин в зависимост от класа, който я е модифицирал.


person Venelin K    schedule 17.04.2015    source източник
comment
Защо искате да се държи по различен начин? Вероятно има по-добър начин да постигнете това, което искате.   -  person Joe White    schedule 17.04.2015
comment
И... Това е, което наричаме XY проблем   -  person Sriram Sakthivel    schedule 17.04.2015


Отговори (1)


Това е невъзможно. Ако наистина трябва да направите това, можете да промените типа на обектите, които поставяте в колекцията, за да добавите някакво свойство "собственик", което показва кой ги е създал.

person Solal Pirelli    schedule 17.04.2015
comment
Да, вече се сетих за това, но ще трябва доста да преработя кода си, по-скоро беше надежда, че ще има начин. Бях скептичен от самото начало. - person Venelin K; 17.04.2015