[Mono-dev] Why Event not actived
latency
latency at gmx.de
Sat Sep 16 03:13:31 EDT 2006
Hi, you are fireing the events in class evento in it's constructur. That way
all events will have been fired before the Main-Method reaches
e.TerminoBucle += new EventHandlerIniciar2(handler);
So the events does not have an consumer and no actions will occure.
In generall I don't know how to catch events fired in the constructor of a new
instanciated class. In my opinion a separate Start Method would be best, that
way you can register your consumers to the event before they will be fired.
Kind Regards,
Valentin.
On Saturday 16 September 2006 06:45, Lord Steve Ataucuri Cruz wrote:
> hello, people
> Thanks for its time
>
> I am making a software and I have a class with events and I want to know
> because the events in chain do not ariser? I have declared classes and what
> I want to know he is because when I call to these events do not go off in
> chain, something I am making bad? or deberia to make it of another form.
>
> using System;
>
>
> public delegate void EventHandlerIniciar(object sender, EventArgs a);
> public delegate void EventHandlerIniciar2(object sender, EventArgs a);
>
> public class cosa{
>
> public event EventHandlerIniciar termino;
>
> public void iniciar(){
> for(int i=0;i<=100;i++)
> if(i==100){
> surgioevento();
> Console.WriteLine("ok1");
> }
> }
>
> public void surgioevento(){
> if(termino!=null)
> termino(this,new EventArgs());
> }
> }
>
>
> public class evento{
> public event EventHandlerIniciar2 TerminoBucle;
>
> public evento()
> {
> cosa c = new cosa();
> c.termino += new EventHandlerIniciar(handler);
> c.iniciar();
> }
>
> public void handler(object sender,EventArgs a)
> {
> Console.WriteLine("ok2");
> if (TerminoBucle != null){
> TerminoBucle(this, new EventArgs());
> Console.WriteLine("ok3");
> }
> }
>
> }
>
>
> public class evento2{
>
> static void Main(){
> evento e = new evento();
> e.TerminoBucle += new EventHandlerIniciar2(handler);
>
> }
>
> private static void handler(object s, EventArgs e){
> Console.WriteLine("ok4");
>
> }
> }
>
>
> thanks
More information about the Mono-devel-list
mailing list