【发布时间】:2018-01-21 14:29:28
【问题描述】:
在 C# 中,我可以这样做:
EventHandler handler = this.SomeEvent;
...例如,这将允许我做:
Delegate[] attachedHandlers = handler.GetInvocationList();
在 VB.NET 中,我似乎不知道如何做类似的事情。
这不起作用:
Dim handler As EventHandler = Me.SomeEvent
...由于以下错误:
公共事件 SomeEvent(sender As Object, e As EventArgs)' 是一个事件, 并且不能直接调用。用一个 'RaiseEvent' 语句来引发 事件。
但这也不起作用:
Dim handler As EventHandler = AddressOf Me.SomeEvent
...因为:
'AddressOf' 操作数必须是方法的名称(不带括号)。
那么我如何才能从 VB.NET 中的事件中实际获得 EventHandler 呢?立即想到的唯一想法是使用反射,但这似乎很荒谬。
【问题讨论】:
标签: c# .net vb.net events event-handling