Trong đoạn mã sau, tôi cần phải biết cú pháp của việc truyền hai chuỗi khi sự kiện được nâng lên.Cú pháp để gửi hai chuỗi trong eventArgs
[PublishEvent("Click")]
public event EventHandler<EventArgs<string>> MyEvent;
Cảm ơn, Saxon.
Trong đoạn mã sau, tôi cần phải biết cú pháp của việc truyền hai chuỗi khi sự kiện được nâng lên.Cú pháp để gửi hai chuỗi trong eventArgs
[PublishEvent("Click")]
public event EventHandler<EventArgs<string>> MyEvent;
Cảm ơn, Saxon.
Cách sạch là tạo ra lớp riêng bạn mà xuất phát từ EventArgs
:
public class MyEventArgs : EventArgs
{
private readonly string _myFirstString;
private readonly string _mySecondString;
public MyEventArgs(string myFirstString, string mySecondString)
{
_myFirstString = myFirstString;
_mySecondString = mySecondString;
}
public string MyFirstString
{
get { return _myFirstString; }
}
public string MySecondString
{
get { return _mySecondString; }
}
}
Và sử dụng nó như thế này:
public event EventHandler<MyEventArgs> MyEvent;
Để nâng cao sự kiện, bạn có thể làm một cái gì đó như thế này:
protected virtual void OnMyEvent(string myFirstString, string mySecondString)
{
EventHandler<MyEventArgs> handler = MyEvent;
if (handler != null)
handler(this, new MyEventArgs(myFirstString, mySecondString));
}
Làm cho lớp học của bạn và mở rộng cho EventArgs và vượt qua nó
public class YourCustomeEvent : EventArgs
{
public string yourVariable {get; }
}
Bây giờ bạn phải cung cấp lớp tùy chỉnh của bạn như thế này
public event EventHandler<YourCustomeEvent> MyEvent;
là không ai trong số các câu trả lời hợp lệ? –