에서 IObservable
public static IObservable<DialogResult> ShowDialog(this Form form);
나는이 작동하도록하는 방법을 모르겠어요. 이것은 내가 지금까지 가지고있는 것입니다 :
Task<DialogResult> task = Task.Factory.StartNew(() =>
{
return form.ShowDialog();
});
return task.ToObservable();
편집 : 멋진, 고마워. 나는이 물건을 좀 더 읽어야한다!
왜이 기능을 원하십니까? UI가 아닌 스레드에서 UI 작업을 수행하면 어떻게 될 것이라고 생각하십니까? –
잘 모르겠습니다. 정말 새로운 기능이고 Reactive Extensions를 사용하여 모든 코드를 비동기 적으로 작성하려고합니다. – potato
하지 마십시오. 감각을 만들 때 비동기 코드 만 실행하십시오. 당신이 그것을 적용해야 할 때 읽고 좋은 방식으로 적용하는 것이 좋습니다. 이것은 실패 할 것입니다. Harse 단어지만 잘 의도 된 조언. 예를 들어 I/O 작업을 수행 할 때 또는 별도의 스레드에서 과도한 CPU 작업을 수행해야하는 경우에 사용하십시오. 비동기 코드 작성은 목표가 아니어야 특정 문제를 해결할 수 있습니다. –