Enviar Parámetros Personalizados a un Evento

En algún momento vamos a necesitar enviar parámetros a un evento, presupongamos que tenemos el siguiente escenario, tenemos una vista en WPF (XAML, con Code – Behind) y tenemos una clase llamada Persona.
Supongamos que cuando sucede un evento determinado, como por ejemplo el cambio de alguna de sus propiedades, debe de avisarle a la vista que despliegue un MessageBox en pantalla con un mensaje.
Para poder conseguir esto haremos lo siguiente; crearemos una nueva clase llamada "EventArgsWithMessage” que heredara de EventArgs:
public class EventArgsWithMessage:EventArgs
{
         public string Message{get;set;}
         public EventArgsWithMessage(string_message)
         {
               this.Message=_message;
         }
}
El siguiente paso sera crear un “EventHandler” en nuestra clase Persona, de la siguiente manera:
 public event EventHandler ShowErrorMessage;
Como siguiente paso dentro de la misma clase usaremos el siguiente código para realizar la llamada al evento, ese código debe de estar en algún método:

if(this.CancelChanges==null)
 return;
 
this.CancelChanges(this,newEventArgsWithMessage("A Message"));
Ya definido el evento, deberemos de implementar el evento en nuestra vista, que lo haremos como sigue (Se usa tipos genéricos para realizar la instancia del evento):

Private Persona persona= new Persona();
persona.ShowErrorMessage+=new EventHandler<EventArgsWithMessage>(ShowError);
Y por ultimo implementaremos el método llamada “ShowError”, de la siguiente manera:

void ShowError(object sender,EventArgsWithMessage e)
{
 MessageBox.Show("Message:" + e.Message);
}
Con eso ya estaría todo lo necesario para poder crear un evento con parámetros personalizados

Suerte!.

Comentarios

Entradas populares de este blog

Crear una aplicacion Android en Netbeans

Ejecutar comandos en el CMD de Windows desde C#

Usar Log4Net en un proyecto ASP.NET MVC