Observable - Auf Ausführung des Events warten



  • Ich habe - abstrahiert - folgendes Szenario:

    var obs = Observable.FromEvent<AsyncCompletedEventArgs>
    (
    	h => this.Class.AsyncMethodCompleted += h,
    	h => this.Class.AsyncMethodCompleted -= h
    )
    .Take(1);
    
    obs.Subscribe
    (
    	e =>
    	{
    		MessageBox.Show("AsyncMethodCompleted");
    	}
    );
    
    this.Class.AsyncMethod();
    

    Bei AsyncMethod() handelt es sich - welch Überraschung - um eine asynchrone Methode.
    Ich möchte nun erreichen, dass das System nach dem AsyncMethod() Aufruf so lange wartet, bis das Event (e) gecalled wurde.

    Ich habe gelesen, dass man dafür Observable.ObserveOnDispatcher<TSource> (selbst erklärend denke ich) ausführen soll.
    Leider kann ich dies nicht einmal testen, da "meine" Observable Klasse diese Methode nicht besitzt (!).

    Ich habe die System.Reactive.dll aus dem Silverlight 4.0 Toolkit eingebunden.
    RuntimeVersion = v2.0.50727
    Version = 1.0.0.0

    Irgendwie irritiert mich das ein wenig. Weiß jemand wie ich meine Anforderung umsetzen kann?



  • FrEEzE2046 schrieb:

    ...) gecalled ...

    Was issen das fürn Wort ????



  • Zeig mal deine Klasse.
    Hast du mal die System.Reactive Klasse aus dem S4 Toolkit in den Reflector geschmissen und geschaut ob die Methode dort wirklich unterstützt wird?


Anmelden zum Antworten