En el siguiente código, necesito saber la sintaxis de pasar dos cadenas cuando se produce el evento.Sintaxis para enviar dos cadenas en eventArgs
[PublishEvent("Click")]
public event EventHandler<EventArgs<string>> MyEvent;
Gracias, sajón.
En el siguiente código, necesito saber la sintaxis de pasar dos cadenas cuando se produce el evento.Sintaxis para enviar dos cadenas en eventArgs
[PublishEvent("Click")]
public event EventHandler<EventArgs<string>> MyEvent;
Gracias, sajón.
La manera más limpia es crear su propia clase que deriva de 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; }
}
}
Y utilizar de esta manera:
public event EventHandler<MyEventArgs> MyEvent;
para generar el evento, se puede hacer algo como esto:
protected virtual void OnMyEvent(string myFirstString, string mySecondString)
{
EventHandler<MyEventArgs> handler = MyEvent;
if (handler != null)
handler(this, new MyEventArgs(myFirstString, mySecondString));
}
Haga su clase y amplíe para EventArgs, y páselo
public class YourCustomeEvent : EventArgs
{
public string yourVariable {get; }
}
Ahora usted tiene que proporcionar su clase personalizada como esta
public event EventHandler<YourCustomeEvent> MyEvent;
son ninguna de las respuestas válidas? –