Problema con eventos

13/10/2004 - 17:34 por Alberto | Informe spam
Tengo una clase (operario) que envía un evento cuando un operario es
modificado. Por lo tanto, tengo declarado el evento del siguiente modo:

public delegate void Evento(object sender);
public event Evento OperarioModificado;

Para lanzar el evento utilizo la siguiente instrucción:

OperarioModificado(this);

Tengo un formulario que trabaja con operarios y los almaceno en un
arrayList. Cada vez que creo uno nuevo, le digo cuál es el manejador del
evento del siguiente modo:

((Operario)arrayOperarios[i]).OperarioModificado + new Operario.Evento(frmOperarios_OperarioModificado);

El problema surge cuando se lanza el evento desde la clase operario. Me dice
"referencia a objeto no establecida como instancia de un objeto".

La verdad es que no entiendo a qué objeto se refiere.

Muchísimas gracias por la ayuda.
 

Leer las respuestas

#1 Octavio Telis Aynes
13/10/2004 - 18:43 | Informe spam
Intenta agregando el delegado al objeto una vez creado y antes de agregarlo
al array, con esto se lleva las referencia de una vez.

Algo como:

Operario op = new Operario();
op += new Operario.Evento(frmOperarios_OperarioModificado);
arrayOperario.Add(op);

De alguna manera tendrás que agregar tus objetos operario al array (supongo
es un ArrayList), antes de hacerlo la idea es agregar el delegado.

Espero te sirva.

Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/


"Alberto" escribió en el mensaje
news:%
Tengo una clase (operario) que envía un evento cuando un operario es
modificado. Por lo tanto, tengo declarado el evento del siguiente modo:

public delegate void Evento(object sender);
public event Evento OperarioModificado;

Para lanzar el evento utilizo la siguiente instrucción:

OperarioModificado(this);

Tengo un formulario que trabaja con operarios y los almaceno en un
arrayList. Cada vez que creo uno nuevo, le digo cuál es el manejador del
evento del siguiente modo:

((Operario)arrayOperarios[i]).OperarioModificado +> new Operario.Evento(frmOperarios_OperarioModificado);

El problema surge cuando se lanza el evento desde la clase operario. Me


dice
"referencia a objeto no establecida como instancia de un objeto".

La verdad es que no entiendo a qué objeto se refiere.

Muchísimas gracias por la ayuda.


Preguntas similares