Skip to content

Instantly share code, notes, and snippets.

@ajrouvoet
Created April 16, 2014 12:51
Show Gist options
  • Save ajrouvoet/10869472 to your computer and use it in GitHub Desktop.
Save ajrouvoet/10869472 to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
namespace System.Reactive
{
public static class Observable
{
/// <summary>
/// Creates an observable sequence object from the specified subscription function.
/// </summary>
/// <typeparam name="subscribe">Subscribe method implementation.</typeparam>
public static IObservable<T> Create<T>(Func<ObserverBase<T>, ISubscription> subscribe)
{
return new AnonymousObservable<T>((obs) => obs.Add(subscribe(obs)));
}
/// <summary>
/// Creates an observable sequence object from the specified subscription function.
/// </summary>
/// <typeparam name="subscribe">Subscribe method implementation.</typeparam>
public static IObservable<T> Create<T>(Action<ObserverBase<T>> subscribe)
{
return new AnonymousObservable<T>((obs) => subscribe(obs));
}
/// <summary>
/// Creates an observable from it's arguments
/// </summary>
public static IObservable<T> Of<T>(params T[] args)
{
return Observable.Create<T>((ObserverBase<T> obs) => obs.Of(args));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment