event wird immer null

  • hallo,

    ich hab momentan ein etwas seltsames problem. ich hab mir ein eigenes delegate definiert:

    Code
    public delegate void MyEventHandler(object sender, MyEventArgs args);

    und von diesem delegate ein event angelegt bzw auch eine funktion mit der ich den event auslöse:

    Code
    ...
    public event MyEventHandler ValueChanged;
    ...
    private void OnValueChanged()
    {
      if (this.ValueChanged != null)
        this.ValueChanged(this, new MyEventArgs());
    }
    ...

    soweit alles ganz normal. wenn ich jetzt in meinem programm eine funktion in dem event registriere mache ich:

    Code
    ...
    tempClass.ValueChanged += new MyEventHandler(this.SubClassValueChanged);
    ...

    also der event war voher null und nach dieser anweisung ist ein delegate registriert, wenn ich dann noch weiter debugge bleibts auch so, nur das ganze ist eine winforms-application und irgendwann stehts an und das programm läuft halt und wartet auf benutzer interaktion.
    wenn in der subclasse dann das OnValueChanged aufrufe ist der event aber immer null und ich weiß nicht wo das delegate wieder deregistriert wurde.

    wenn ich in der subclasse selber ein delegate registriere, dann hauts schon hin, ich kann auch im hauptprogramm wieder einen hinzufügen, aber der verschwindet auch wieder.

    weiß wer an was das liegen könnte, ich bin schon mit meinen debug-fähigkeiten am ende.

    mfg seHaas

  • nach ewigem nervenaufreibenden fehlersuchen hab ich ihn gefunden.
    das problem lag an meiner verwirrenden objekt-hierarchie. es hat einach eine andere instanz den event ausgelöst, nicht die, die ich vermutet habe.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!