Tôi đang sử dụng Extensions Reactive (Rx) Theo như một sự thay thế trực tiếp cho C# môn thi đấu như vậy:Tôi có nên gọi Dispose trên Reactive Extensions (Rx) Theo <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);
}
}
Lưu ý rằng tôi không bao giờ gọi OnCompleted trên môn học của tôi. MyClass có nên triển khai IDisposable và gọi this.subject.Dispose không? Điều này có nghĩa là bất kỳ việc triển khai nào sử dụng Subject đều phải thực hiện IDisposable.
Lý do tôi hỏi là mẫu IDisposable hơi giống một căn bệnh, nếu một thứ thực hiện nó, mọi thứ sử dụng nó cũng phải thực hiện nó.
MyClass và chủ đề sẽ "sống" trong toàn bộ vòng đời của ứng dụng? Bạn có muốn hủy đăng ký các nhà quan sát khỏi nó không? – vvv
Có trong trường hợp của tôi. –