在下面的代码中,我需要知道在引发事件时传递两个字符串的语法.
[PublishEvent("Click")]
public event EventHandler<EventArgs<string>> MyEvent;
Run Code Online (Sandbox Code Playgroud)
谢谢,撒克逊人.
Tho*_*que 19
最干净的方法是创建自己的类,派生自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; }
}
}
Run Code Online (Sandbox Code Playgroud)
并像这样使用它:
public event EventHandler<MyEventArgs> MyEvent;
Run Code Online (Sandbox Code Playgroud)
要举起活动,您可以这样做:
protected virtual void OnMyEvent(string myFirstString, string mySecondString)
{
EventHandler<MyEventArgs> handler = MyEvent;
if (handler != null)
handler(this, new MyEventArgs(myFirstString, mySecondString));
}
Run Code Online (Sandbox Code Playgroud)