bubu ([info]bubu) rakstīja [info]koderi kopienā,
Tev jau tam eventam nav nekāda sakara ar UI.
Par šito threadu korektumu jāraizējas eventa paraktītājam nevis izsaucējam. Tavas klases events jau nezin, kas uz to parakstīsies - vai tajos būs kaut kas saistīts ar UI, vai nebūs. Tb apmēram šāds kods:
    Class c = ...;
    c.Event += handleris;
    
    // ...
    
    public void handleris(object sender, EventArgs e)
    {
        if (this.textBox1.InvokeRequired)
        {
            this.Invoke(new EventHandler(delegate(object s, EventArgs a) { handleris(s, e); }));
        }
        else
        {
            this.textBox1.Text = "text";
        }
    }


Bet pašā klasē:

class Class
{
    delegate void InvokeEvent(EventArgs e);
    public event EventHandler Event;

    public Class()
    {
        ThreadPool.QueueUserWorkItem(new WaitCallback(Work));
    }

    void Work()
    {
        OnEvent(new EventArgs());
    }

    protected void OnEvent(EventArgs e)
    {
        if (Event != null) Event(this, e);
    }
}


(Lasīt komentārus)

Nopūsties:

No:
Lietotājvārds:
Parole:
Ievadi te 'qws' (liidzeklis pret spambotiem):
Temats:
Tematā HTML ir aizliegts
  
Ziņa:

Gandrīz jau aizmirsu pateikt – šis lietotājs ir ieslēdzis IP adrešu noglabāšanu. Operatore Nr. 65.
Neesi iežurnalējies. Iežurnalēties?