2010-03-02 4 views
3

약식 버전이 있습니까? 하나의 시퀀스를 호출하고 나면 다른 시퀀스를 호출하려고합니다.관찰 가능한 구독 체인

var seq1 = Observable.Range(1, 20); 
var seq2 = Observable.Range(21, 20); 

seq1.Subscribe(
    i => Console.WriteLine(i), 
    () => seq2.Subscribe(i => Console.WriteLine(i))); 
+0

: http://stackoverflow.com/questions/11769602/자기 오류에 종속적 인 - 자발적 처분 - 구독/11770674 # 11770674. 당신이 그러한 문제를 가지고 있다면 궁금해 할 것입니다. 관찰자에게 예외가 생기는 것을 막을 수있는 다른 방법, 아마도 내장 된 방법을 알고 있다면 궁금 할 것입니다. –

답변

3

그것은 (내가 손에 문서가없는) 당신이 뭘하려는 건지 나에게 완전히 명확하지 않다 그러나 당신이 계신 Observables.Concat입니까?

var seq1 = Observable.Range(1, 20); 
var seq2 = Observable.Range(21, 20); 
var both = seq1.Concat(seq2); 
both.Subscribe(i => Console.WriteLine(i)); 

가 (난 그냥이 실제로 작동하는지 :) 확인하고 있습니다

나는이 함께 올 때까지 나 비트 비슷한 일을하고 내부 가입에 예외를 예상
+0

그는 seq1의 끝이 20이고 seq2의 시작이 21이므로 Concat이 정확합니다. –

+0

아무 것도하지 않고 2 개의 관찰 대상을 차례대로 실행하려고 시도하지 않습니다. 이것은이 사건에서 내가 원하는 것을 수행하는 것처럼 보이지만 2 가지 관찰 자료가 다른 유형이라면 무엇을 할 것인가? –

+0

@kouPhax : 어떻게 사용하고 싶은지 잘 모르겠습니다. * 쓸 수있는 것을 보여줄 수 있습니까? –

관련 문제