[英]Shared (static) classes with events in C#
這是我將在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
子句,因此我需要調用一些函數並在其中分配事件處理程序。 但是,由於它是一個共享類,所以沒有構造函數。 我必須將其放在函數外部。
如何實現?
您可以使用靜態構造函數...
static readonly EventClass _something;
static Class1()
{
_something = new EventClass();
_something.Test += DoStuff;
}
static void DoStuff()
{
}
嘗試以下
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() {
...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.