我有两个对象 - 一个包含一些代码将激发一个事件,另一个包含该事件的处理程序。我不能在第一个对象的Load中添加“AddHandler”,因为第二个对象的实例尚不存在。当我提出我的事件时,我想检查一下object2的副本是否已经实例化(容易做到),并且如果处理程序已经附加到事件(不知道如何执行此操作)。确定一个事件是否已经连接到
我也接受另一个关于如何做到这一点的建议。如果我在Object1.Load中执行AddHandler,并且Object2还不存在,那么即使稍后创建,它也不会处理我的事件。现在,在触发事件的代码中,我只是在每次提出事件时都使用RemoveHandler和AddHandler,然后我知道当对象最终存在时我会附加,但我知道这一点是一个糟糕的方法。
我看到一篇关于类似文章(Determine list of event handlers bound to event)的文章,也许我在翻译中缺少某些东西,但我无法让代码在VB.NET中处理我的自定义事件。
你为什么不能使用WITHEVENTS? – chrissie1 2009-06-18 14:44:31
我不知道如何使用WithEvents会影响我的情况 - 这不是一个事件没有提出,或处理程序工作不正常 - 他们都很好。这只是我不能附加处理程序,直到我有一个将处理事件的对象的实例,所以我不确定是检查该事件的最佳位置。 – SqlRyan 2009-06-18 15:31:37