Eventos en Clase

11/09/2009 - 17:46 por Manolo | Informe spam
Hola a todos,

hace poco me respondió Alberto Población una duda sobre los eventos en las
clases, pero me da error. Para los formularios funciona bien, pero no para
una clase que se encuentra en otro proyecto al que se hace referencia.

Me da el siguiente error: " El token '+=' no es válido en una clase,
estructura o declaración de miembro de interfaz.".

El Código que utilizo es el siguiente:
En la Clase:
public delegate void ErrorDLLAccDatos(string Result);
public event ErrorDLLAccDatos ErrorDLL;

para generar el evento:
ErrorDLL(ex.Message);

en el formulario declaro la variable con el evento, y es ahí donde me da
el error:
private DLLAccDatos.AccDatosFidelizacion DLLAccDatosFIDELIZACION =
new DLLAccDatos.AccDatosFidelizacion();
DLLAccDatosFIDELIZACION.ErrorDLL += CalcResultado;

Espero me halla explicado bien.
Ayúdenme por favor, lo necesito con urgencia.

Gracias de antemano.
 

Leer las respuestas

#1 Alberto Poblacion
11/09/2009 - 18:45 | Informe spam
"Manolo" wrote in message
news:
Me da el siguiente error: " El token '+=' no es válido en una clase,
estructura o declaración de miembro de interfaz.".
[...]
en el formulario declaro la variable con el evento, y es ahí donde me
da el error:
private DLLAccDatos.AccDatosFidelizacion DLLAccDatosFIDELIZACION =
new DLLAccDatos.AccDatosFidelizacion();
DLLAccDatosFIDELIZACION.ErrorDLL += CalcResultado;



El "+=" es una operación ejecutable, no vale para ponerlo a nivel de
clase junto con las variables. Eso significa que la sentencia
DLLAccDatosFIDELIZACION.ErrorDLL += CalcResultado;
tienes que meterla dentro de un método (por ejemplo, en el Form_Load, o en
el constructor del formulario).

Las conexiones de eventos que hace automáticamente el diseñador de
formularios de Visual Studio se generan precisamente asi: la sentencia con
el "+=" está dentro de una subrutina llamada InitializeComponent que a su
vez se llama desde el constructor del formulario.

Preguntas similares