1

我有一个由几个类操纵的ObservableCollection。我想知道哪个班开了这个活动。我已经看过发件人对象,并通过NotifyCollectionChangedEventArgs的属性,但没有找到任何东西。我只知道事件的原因,如:重置,添加或删除。我正在寻找的是原创者。哪个类引发了CollectionChanged事件?

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

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

这样做的目的是,我需要在我的收藏取决于修改了它的类不同的方式行事。

+4

你不能那样做。 – SLaks

+1

*为什么*你想让它表现不同?可能有更好的方法来实现你想要的。 –

+1

And ... [这就是我们所说的XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –

回答

2

这是不可能的。如果您真的需要这样做,您可以更改放入集合中的对象的类型,以添加某种“所有者”属性,指示创建者的属性。

+0

是的,我已经想到了,但我会我不得不重构我的代码,这更多的是希望有一种方式。我从一开始就怀疑。 –

相关问题