Sé que esto es las edades después del post, pero el pensamiento de añadir comentario con código de explicar Dustin Campbell respuesta para si alguien viene a través de este hilo. Me encontré con esta publicación al tratar de decidir cuál sería la mejor práctica, y esto es lo que significa la respuesta.
crear su propia clase controlador de eventos personalizado
public class myCustomeEventArgs:EventArgs
{
public bool DoOverride { get; set; }
public string Variable1 { get; private set; }
public string Variable2{ get; private set; }
public myCustomeEventArgs(string variable1 , string variable2)
{
DoOverride = false;
Variable1 = variable1 ;
Variables = variable2 ;
}
}
Así que cuando usted crea su delegado caso de utilizar sus argumentos de eventos creados de esta manera.
public delegate void myCustomeEventHandler(object sender, myCustomeEventArgs e);
Y en la clase que plantea el evento, usted declara el evento.
public event myCustomeEventHandler myCustomeEvent;
Así que cuando se dispara el evento en su clase de la clase que se detecta el evento puede simplemente en el cuerpo del conjunto de eventos e.DoOverride = true; como se declarará en la clase disparando el evento.
caso de incendio, por ejemplo:
if(myCustomeEvent != null)
{
var eventArgs = new myCustomeEventArgs("Some Variable", "Another Varaible");
myCustomeEvent(this, eventArgs);
//Here you can now with the return of the event work with the event args
if(eventArgs.DoOverride)
{
//Do Something
}
}
¿Podría detallar' incluir una propiedad de escritura en un conjunto de EventArgs personalizados que se pasa a la parte del evento? – Odys
@Odys Haga el objeto EventArgument personalizado. Crea una propiedad donde viven los resultados. – Crisfole