次のコードでは、イベントが発生したときに 2 つの文字列を渡す構文を知る必要があります。
[PublishEvent("Click")]
public event EventHandler<EventArgs<string>> MyEvent;
ありがとう、サクソン。
次のコードでは、イベントが発生したときに 2 つの文字列を渡す構文を知る必要があります。
[PublishEvent("Click")]
public event EventHandler<EventArgs<string>> MyEvent;
ありがとう、サクソン。
最もクリーンな方法は、から派生する独自のクラスを作成することです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; }
}
}
そして、次のように使用します。
public event EventHandler<MyEventArgs> MyEvent;
イベントを発生させるには、次のようにします。
protected virtual void OnMyEvent(string myFirstString, string mySecondString)
{
EventHandler<MyEventArgs> handler = MyEvent;
if (handler != null)
handler(this, new MyEventArgs(myFirstString, mySecondString));
}
クラスを作成してEventArgsを拡張し、それを渡します
public class YourCustomeEvent : EventArgs
{
public string yourVariable {get; }
}
次に、このようなカスタムクラスを提供する必要があります
public event EventHandler<YourCustomeEvent> MyEvent;