以下是我在Visual Basic中的操作示例:
Public Class Class1
Public Shared WithEvents Something As New EventClass
Public Shared Sub DoStuff() Handles Something.Test
End Sub
End Class
Public Class EventClass
Public Event Test()
End Class
如何在C#中执行此操作?
我知道C#中没有Handles
子句,所以我需要调用一些函数并在那里分配事件处理程序。但是,因为它是一个共享类,所以没有构造函数;我必须把它放在函数之外的某个地方。
如何实现?
答案 0 :(得分:2)
您可以使用静态构造函数...
static readonly EventClass _something;
static Class1()
{
_something = new EventClass();
_something.Test += DoStuff;
}
static void DoStuff()
{
}
答案 1 :(得分:1)
尝试以下
public static class Class1 {
private static EventClass something;
public static EventClass Something {
get { return something; }
}
static Class1 {
something = new Class1();
something.Test += DoStuff;
}
public static void DoStuff() {
...
}
}