anrufen Ich bin der Reactive Extensions (Rx) Thema als direkter Ersatz für C# Veranstaltungen mit etwa so:Sollte ich <T>
public class MyClass
{
private Subject<string> subject;
public IObservable<string> WhenSomethingHappened
{
get { return this.subject.AsObservable(); }
}
private void OnSomethingHappened(string something)
{
this.subject.OnNext(something);
}
}
Beachten Sie, dass Ich rufe nie OnCompleted mein Thema. Soll MyClass IDisposable implementieren und this.subject.Dispose aufrufen? Dies würde bedeuten, dass jede Implementierung, die Subject verwendet, IDisposable implementieren sollte.
Der Grund, warum ich frage ist, dass das IDisposable-Muster ein bisschen wie eine Krankheit ist, wenn eine Sache es implementiert, muss alles, das es verwendet, es auch implementieren.
MyClass und Subjekt werden während des gesamten Anwendungslebenszyklus "leben"? Möchten Sie Beobachter davon abmelden? – vvv
Ja, tut es in meinem Fall. –