如何删除Windows应用程序中的所有事件处理程序?

时间:2015-06-11 03:19:29

标签: c# windows-store

情况如下:

select2('destroy')

我多次调用Test,所以当该文件夹发生一些变化时,QueryResults_ContentsChanged会多次触发,但我只想要一次。我试过" + = null",但它不起作用,所以我不知道如何从局部变量queryResults中删除所有事件处理程序。

2 个答案:

答案 0 :(得分:1)

我没有看到任何需要多次调用Test方法的用例,我建议验证/验证您的设计。

我从您的问题中了解到,您要检查QueryResults_ContentsChanged是否附加到任何其他event,不是可能(除非您已经你自己的逻辑。)

一般情况下,可以取消订阅事件,如下所示。

queryResults.ContentsChanged -= QueryResults_ContentsChanged;

希望这有帮助。

答案 1 :(得分:0)

您可以使用-=运算符取消订阅活动。

queryResults.ContentsChanged -= QueryResults_ContentsChanged;

有关如何SubscribeUnsubscribe事件的详细信息,请参阅MSDN