Skip to content

Instantly share code, notes, and snippets.

@semuserable
Last active April 18, 2016 12:53
Show Gist options
  • Save semuserable/373f90dce092e7c1db2a16fa8745edfa to your computer and use it in GitHub Desktop.
Save semuserable/373f90dce092e7c1db2a16fa8745edfa to your computer and use it in GitHub Desktop.
Simple methods from Rx made using Observable.Create<T>()
public static class RxExamples
{
// Equal to Observable.Empty<T>()
public static IObservable<T> Empty<T>()
{
return Observable.Create<T>(observer =>
{
observer.OnCompleted();
return Disposable.Empty;
});
}
// Equal to Observable.Return<T>(/* T value */)
public static IObservable<T> Return<T>(T value)
{
return Observable.Create<T>(observer =>
{
observer.OnNext(value);
observer.OnCompleted();
return Disposable.Empty;
});
}
// Equal to Observable.Never<T>()
public static IObservable<T> Never<T>(T value)
{
return Observable.Create<T>(observer => Disposable.Empty);
}
// Equal to Observable.Throw<T>(new Exception());
public static IObservable<T> Throw<T>(Exception exception)
{
return Observable.Create<T>(observer =>
{
observer.OnError(exception);
return Disposable.Empty;
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment