我有一个VB.NET dll(由其他人编写),我要求它发布并引发一个(通常)由C#处理的事件。
如果DLL是C#,那么这很简单,
(client)
myDLL.OnClick += doClick
(Dll)
if (OnClick != null) OnClick(....
i.e. 2 lines of code
但也许这是我对VB.NET的挫败感,但我找不到一个如何做到这一点的简单例子。
有人可以展示/解释如何在VB.NET中定义和引发一个可以在C#中处理的事件吗?
由于
MM
答案 0 :(得分:2)
我刚测试了这个并且与通常情况完全相同 - 在VB.Net中提升事件(正常情况下)
Public Class Class1
Public Event TestEvent()
Public Sub RaiseTestEvent()
RaiseEvent TestEvent()
End Sub
End Class
然后引用VB.Net程序集并在C#中使用该事件(再次,正常情况下)
var class1 = new ClassLibrary1.Class1();
class1.TestEvent += () => Console.WriteLine("Test Event");
class1.RaiseTestEvent();
答案 1 :(得分:0)
VB使用Event
关键字。
Public Event SomethingChanged (byval sender as object, e as eventargs)
像在其他任何活动中一样在C#中订阅它。