internal EvaluatableQbservable(EvaluatableQbservableProvider provider, Expression expression) { if (expression == null) { throw new ArgumentNullException(nameof(expression)); } if (!typeof(IQbservable <T>).IsAssignableFrom(expression.Type)) { throw new ArgumentException("Expression doesn't produce a type that is compatible with this qbservable's element type", nameof(expression)); } Provider = provider ?? throw new ArgumentNullException(nameof(provider)); Expression = expression; }
internal EvaluatableQbservable(IObservableEvaluator evaluator) { Provider = new EvaluatableQbservableProvider(evaluator, GetType()); Expression = Expression.Constant(this); }