如何知道Datatable已经被订阅?

发布于 2024-09-27 05:39:52 字数 96 浏览 6 评论 0原文

如何知道 DataTable 已经订阅了 OnRowChanged 或 OnColumnChanged 事件? 我的应用程序中遇到了许多通知的问题?所以我想支票并只想订阅一次表?

How to know that DataTable is already subscribed to OnRowChanged or OnColumnChanged events ?
I am facing a issue with many notifications in my app ? so I wanted to put a check and want to subscribe table only once ??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧伤还要旧人安 2024-10-04 05:39:52

在声明类之外,查看订阅的内容是故意棘手的,因为这通常不是您需要知道的事情。

根据具体情况, 要么在您订阅时非常善于跟踪,要么首先简单地取消订阅(如果您没有订阅,则不会执行任何操作):

foo.OnSomeEvent -= SomeHandler;
foo.OnSomeEvent += SomeHandler;

只要 <处理程序和目标实例(对于非静态处理程序)是相同的:

  • 如果订阅,最终结果是您之后仍然订阅
  • 如果不订阅,最终结果是您最终订阅

Outside of the declaring class it is deliberately tricky to see what is subscribed, since that is generally not something you need to know.

Depending on the scenario, either get very good at tracking when you subscribe, or simply unsubscribe first (which does nothing if you aren't subscribed):

foo.OnSomeEvent -= SomeHandler;
foo.OnSomeEvent += SomeHandler;

As long as the handler and target-instance (for non-static handlers) is the same this will:

  • if subscribed, the net result is that you are still subscribed afterwards
  • if not subscribed, the net result is that you end up subscribed
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文