- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
动态附加/分离事件处理程序有优势吗?
手动分离处理程序是否有助于确保没有剩余对已处置对象的引用?
最佳答案
我很确定 Handles
子句只是语法糖,并将 AddHandler
语句插入到您的构造函数中。我使用这段代码进行了测试并禁用了应用程序框架,因此构造函数不会有额外的东西:
Public Class Form1
Public Sub New()
' This call is required by the Windows Form Designer. '
InitializeComponent()
' Add any initialization after the InitializeComponent() call. '
AddHandler Me.Load, AddressOf Form1_Load
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim breakpoint As Integer = 4
End Sub
End Class
IL 最终是这样的:
IL_0000: nop
IL_0001: ldarg.0
IL_0002: call instance void [System.Windows.Forms]System.Windows.Forms.Form::.ctor()
IL_0007: nop
IL_0008: ldarg.0
IL_0009: ldarg.0
IL_000a: dup
IL_000b: ldvirtftn instance void WindowsApplication1.Form1::Form1_Load(object,
class [mscorlib]System.EventArgs)
IL_0011: newobj instance void [mscorlib]System.EventHandler::.ctor(object,
native int)
IL_0016: call instance void [System.Windows.Forms]System.Windows.Forms.Form::add_Load(class [mscorlib]System.EventHandler)
'... lots of lines here '
IL_0047: ldarg.0
IL_0048: callvirt instance void WindowsApplication1.Form1::InitializeComponent()
IL_004d: nop
IL_004e: ldarg.0
IL_004f: ldarg.0
IL_0050: dup
IL_0051: ldvirtftn instance void WindowsApplication1.Form1::Form1_Load(object,
class [mscorlib]System.EventArgs)
IL_0057: newobj instance void [mscorlib]System.EventHandler::.ctor(object,
native int)
IL_005c: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Form::add_Load(class [mscorlib]System.EventHandler)
IL_0061: nop
IL_0062: nop
IL_0063: ret
} // end of method Form1::.ctor
注意 IL_000b 和 IL_0051 周围的两个相同代码块。我认为这只是语法糖。
关于vb.net - 句柄与 AddHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57567/
我正在尝试使用 Widget.addHandler()。但是,处理程序永远不会被调用。下面是我的示例代码。我需要更改什么才能解决此问题? 我的处理程序实现: public class CustomMo
动态附加/分离事件处理程序有优势吗? 手动分离处理程序是否有助于确保没有剩余对已处置对象的引用? 最佳答案 我很确定 Handles 子句只是语法糖,并将 AddHandler 语句插入到您的构造函数
我正在运行 OS X Lion 和 PHP 5.3.6 的 Mac 上工作,并尝试了 AddType、AddHander 和 AllowOverride已在 httpd.conf 中设置为 ALL;然
我对 Vb.Net 事件和处理程序很满意。谁能帮助我了解如何在 C# 中创建事件处理程序并引发事件。 最佳答案 只懂C#,或者只懂VB.Net的开发者,可能不知道这是VB.NET和C#最大的区别之一。
我开始学习 strophe 库的使用,当我使用 addHandler 解析响应时,它似乎只读取 xml 响应的第一个节点,所以当我收到这样的 xml 时:
我目前正在尝试通过 Heinrich Apfelmus 的 reactive-banana 了解 FRP ,与我看过的其他库相比,它似乎是一个文档齐全且简单的库。 但是,我无法理解 AddHandle
如前所述 here , PropertyChangedEventManager类(class) Provides a WeakEventManager implementation so that y
使用AddHandler方法,如果我从不使用RemoveHandler,在某些条件和情况下会导致内存泄漏吗?我不太确定这件事的真实性。 还有其他导致内存泄漏的原因吗?这些原因仅在 VB 中存在,而在
我正在将 WPF 应用程序移植到 Windows Universal。我想将相同的 MouseLeftButtonDown 处理程序添加到我的控件中。它们似乎已被 Tapped Event 取代。但是
我想添加 AddHandler 来为 .jpg 文件运行 php 代码, 当我在 /etc/apache2/mods-available/mime.conf 添加这个 AddHandler appli
我正在尝试动态创建 dropdownList框,我想尝试添加 AddHandlers给他们,以便在其中选择一个项目时,它会触发一个事件,但还需要传递另一个变量,我不知道该将什么作为 system.Ev
我正在使用 AddHandler 将函数连接到我动态创建的控件事件: Public Delegate Sub MyEventHandlerDelegate(ByVal sender As Object
我正在为 Autodesk Inventor(一种 3D CAD 程序)编写插件。该插件向 Inventor 添加了一堆内部命令,并为每个命令创建了一个工具栏按钮。我需要将每个命令的执行事件连接到我的
我在 Site5 托管我的临时和生产服务器,在我看来,Site5 是一个相对较好的托管商。问题不在于它们的质量,而在于与 PHP 版本相关的问题。 我们的开发服务器使用的是 PHP 5.3,这是一个很
最新版本的 RestSharp v106.6.9 显然做了一些更改,使得 Request 的 AddHandler 方法的重写过时,例如此签名: [Obsolete("Use the overload
我使用“TextWebSocketHandler”作为 websockets 和“WebSocketConfigurer”来配置 websocket。 我有一个场景,需要对处理程序的不同实例进行处理。
根据 UIElement.AddHandler on MSDN ,您可以为 handledEventsToo 传入一个 bool 值参数,因此您仍然可以收到已处理事件的通知。是否有与此等效的 XAML
从事件创建可观察对象时,看起来以下是最常见的方式: var o = Observable.FromEventPattern(h => source.Event += h,
问题的第一部分:这 2 个事件注册之间有什么区别? _popUp.AddHandler(PreviewMouseLeftButtonDownEvent, new MouseButtonEventHan
UIElement类定义静态 RoutedEvent 成员 MouseLeftButtonDownEvent 和 MouseLeftButtonUpEvent - 但没有 MouseMoveEvent
我是一名优秀的程序员,十分优秀!