gpt4 book ai didi

vb.net - 确定是否已附加事件

转载 作者:行者123 更新时间:2023-12-04 09:16:56 24 4
gpt4 key购买 nike

我有两个对象-一个对象包含一些将触发事件的代码,另一个对象包含该事件的处理程序。我无法在第一个对象的加载中“添加处理程序”,因为第二个对象的实例尚不存在。引发事件时,我想检查是否已实例化object2的副本(易于实现),以及是否已将处理程序附加到该事件(不确定如何执行此操作)。

我也愿意就如何执行此操作提出另一条建议。如果我在Object1.Load中执行AddHandler,而Object2还不存在,那么它将永远不会处理我的事件,即使稍后创建它也是如此。现在,在触发该事件的代码中,我只是在每次引发该事件时才执行一个RemoveHandler然后一个AddHandler,然后我知道当对象最终存在时我将附加它,但是我知道是一种a脚的方法。

我看到了一篇有关类似内容(Determine list of event handlers bound to event)的文章,也许我在翻译中遗漏了一些内容,但是我无法使代码在VB.NET中用于自定义事件。

最佳答案

在挂接事件之前,您也可以只检查一个 bool 字段。

if not eventHooked then
addhandler
eventHooked = true
end if

另外,如果您需要一个好的C#到VB转换器, http://www.tangiblesoftwaresolutions.com/可以动态翻译100行或更少的行,或者免费翻译1000行的项目。不仅需要购买,还可以使用这些限制。不,我不是想为他们做广告:-)

关于vb.net - 确定是否已附加事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1013048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com