MessageBus Class

Summary

MessageBus represents an object that can act as a "Message Bus", a simple way for ViewModels and other objects to communicate with each other in a loosely coupled way. Specifying which messages go where is done via a combination of the Type of the message as well as an additional "Contract" parameter; this is a unique string used to distinguish between messages of the same Type, and is arbitrarily set by the client.
Namespace
ReactiveUI
Interfaces
Base Types
  • object
graph BT Type-->Base0["object"] Type-.->Interface0["IMessageBus"] click Interface0 "/api/ReactiveUI/IMessageBus" Type-.->Interface1["IEnableLogger"] Type["MessageBus"] class Type type-node

Syntax

public class MessageBus : IMessageBus, IEnableLogger

Properties

Name Value Summary
Current IMessageBus
Gets or sets the Current MessageBus.
static

Methods

Name Value Summary
IsRegistered(Type, string) bool
Determines if a particular message Type is registered.
Listen<T>(string) IObservable<T>
Listen provides an Observable that will fire whenever a Message is provided for this object via RegisterMessageSource or SendMessage.
ListenIncludeLatest<T>(string) IObservable<T>
Listen provides an Observable that will fire whenever a Message is provided for this object via RegisterMessageSource or SendMessage.
RegisterMessageSource<T>(IObservable<T>, string) IDisposable
Registers an Observable representing the stream of messages to send. Another part of the code can then call Listen to retrieve this Observable.
RegisterScheduler<T>(IScheduler, string) void
Registers a scheduler for the type, which may be specified at runtime, and the contract.
SendMessage<T>(T, string) void
Sends a single message using the specified Type and contract. Consider using RegisterMessageSource instead if you will be sending messages in response to other changes such as property changes or events.

Extension Methods

Name Value Summary
BindCommand<MessageBus, TViewModel, TProp, TControl, TParam>(TViewModel, Expression<Func<TViewModel, TProp>>, Expression<Func<MessageBus, TControl>>, Expression<Func<TViewModel, TParam>>, string) IReactiveBinding<TView, TViewModel, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindCommand<MessageBus, TViewModel, TProp, TControl, TParam>(TViewModel, Expression<Func<TViewModel, TProp>>, Expression<Func<MessageBus, TControl>>, IObservable<TParam>, string) IReactiveBinding<TView, TViewModel, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindCommand<MessageBus, TViewModel, TProp, TControl>(TViewModel, Expression<Func<TViewModel, TProp>>, Expression<Func<MessageBus, TControl>>, string) IReactiveBinding<TView, TViewModel, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
ObservableForProperty<MessageBus, TValue, TRet>(Expression<Func<MessageBus, TValue>>, Func<TValue, TRet>, bool) IObservable<TRet>
ObservableForProperty returns an Observable representing the property change notifications for a specific property on a ReactiveObject, running the IObservedChange through a Selector function.
ObservableForProperty<MessageBus, TValue>(Expression<Func<MessageBus, TValue>>, bool, bool) IObservable<IObservedChange<TSender, TValue>>
ObservableForProperty returns an Observable representing the property change notifications for a specific property on a ReactiveObject. This method (unlike other Observables that return IObservedChange) guarantees that the Value property of the IObservedChange is set.
SubscribeToExpressionChain<MessageBus, TValue>(Expression, bool, bool, bool) IObservable<IObservedChange<TSender, TValue>>
Creates a observable which will subscribe to the each property and sub property specified in the Expression. eg It will subscribe to x => x.Property1.Property2.Property3 each property in the lambda expression. It will then provide updates to the last value in the chain.
WhenAny<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Expression<Func<MessageBus, T9>>, Expression<Func<MessageBus, T10>>, Expression<Func<MessageBus, T11>>, Expression<Func<MessageBus, T12>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, IObservedChange<MessageBus, T5>, IObservedChange<MessageBus, T6>, IObservedChange<MessageBus, T7>, IObservedChange<MessageBus, T8>, IObservedChange<MessageBus, T9>, IObservedChange<MessageBus, T10>, IObservedChange<MessageBus, T11>, IObservedChange<MessageBus, T12>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Expression<Func<MessageBus, T9>>, Expression<Func<MessageBus, T10>>, Expression<Func<MessageBus, T11>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, IObservedChange<MessageBus, T5>, IObservedChange<MessageBus, T6>, IObservedChange<MessageBus, T7>, IObservedChange<MessageBus, T8>, IObservedChange<MessageBus, T9>, IObservedChange<MessageBus, T10>, IObservedChange<MessageBus, T11>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Expression<Func<MessageBus, T9>>, Expression<Func<MessageBus, T10>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, IObservedChange<MessageBus, T5>, IObservedChange<MessageBus, T6>, IObservedChange<MessageBus, T7>, IObservedChange<MessageBus, T8>, IObservedChange<MessageBus, T9>, IObservedChange<MessageBus, T10>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Expression<Func<MessageBus, T9>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, IObservedChange<MessageBus, T5>, IObservedChange<MessageBus, T6>, IObservedChange<MessageBus, T7>, IObservedChange<MessageBus, T8>, IObservedChange<MessageBus, T9>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, IObservedChange<MessageBus, T5>, IObservedChange<MessageBus, T6>, IObservedChange<MessageBus, T7>, IObservedChange<MessageBus, T8>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, IObservedChange<MessageBus, T5>, IObservedChange<MessageBus, T6>, IObservedChange<MessageBus, T7>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3, T4, T5, T6>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, IObservedChange<MessageBus, T5>, IObservedChange<MessageBus, T6>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3, T4, T5>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, IObservedChange<MessageBus, T5>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3, T4>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, IObservedChange<MessageBus, T4>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2, T3>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, IObservedChange<MessageBus, T3>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1, T2>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Func<IObservedChange<MessageBus, T1>, IObservedChange<MessageBus, T2>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<MessageBus, TRet, T1>(Expression<Func<MessageBus, T1>>, Func<IObservedChange<MessageBus, T1>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Expression, Func<IObservedChange<MessageBus, object>, IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<MessageBus, TRet>(Expression, Func<IObservedChange<MessageBus, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Expression<Func<MessageBus, IObservable<T5>>>, Expression<Func<MessageBus, IObservable<T6>>>, Expression<Func<MessageBus, IObservable<T7>>>, Expression<Func<MessageBus, IObservable<T8>>>, Expression<Func<MessageBus, IObservable<T9>>>, Expression<Func<MessageBus, IObservable<T10>>>, Expression<Func<MessageBus, IObservable<T11>>>, Expression<Func<MessageBus, IObservable<T12>>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Expression<Func<MessageBus, IObservable<T5>>>, Expression<Func<MessageBus, IObservable<T6>>>, Expression<Func<MessageBus, IObservable<T7>>>, Expression<Func<MessageBus, IObservable<T8>>>, Expression<Func<MessageBus, IObservable<T9>>>, Expression<Func<MessageBus, IObservable<T10>>>, Expression<Func<MessageBus, IObservable<T11>>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Expression<Func<MessageBus, IObservable<T5>>>, Expression<Func<MessageBus, IObservable<T6>>>, Expression<Func<MessageBus, IObservable<T7>>>, Expression<Func<MessageBus, IObservable<T8>>>, Expression<Func<MessageBus, IObservable<T9>>>, Expression<Func<MessageBus, IObservable<T10>>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Expression<Func<MessageBus, IObservable<T5>>>, Expression<Func<MessageBus, IObservable<T6>>>, Expression<Func<MessageBus, IObservable<T7>>>, Expression<Func<MessageBus, IObservable<T8>>>, Expression<Func<MessageBus, IObservable<T9>>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Expression<Func<MessageBus, IObservable<T5>>>, Expression<Func<MessageBus, IObservable<T6>>>, Expression<Func<MessageBus, IObservable<T7>>>, Expression<Func<MessageBus, IObservable<T8>>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Expression<Func<MessageBus, IObservable<T5>>>, Expression<Func<MessageBus, IObservable<T6>>>, Expression<Func<MessageBus, IObservable<T7>>>, Func<T1, T2, T3, T4, T5, T6, T7, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4, T5, T6>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Expression<Func<MessageBus, IObservable<T5>>>, Expression<Func<MessageBus, IObservable<T6>>>, Func<T1, T2, T3, T4, T5, T6, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4, T5>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Expression<Func<MessageBus, IObservable<T5>>>, Func<T1, T2, T3, T4, T5, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3, T4>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Expression<Func<MessageBus, IObservable<T4>>>, Func<T1, T2, T3, T4, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2, T3>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Expression<Func<MessageBus, IObservable<T3>>>, Func<T1, T2, T3, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet, T1, T2>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Func<T1, T2, TRet>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
WhenAnyValue<MessageBus, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>) IObservable<Tuple<T1, T2, T3, T4, T5, T6, T7>>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, T1, T2, T3, T4, T5, T6>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>) IObservable<Tuple<T1, T2, T3, T4, T5, T6>>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, T1, T2, T3, T4, T5>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>) IObservable<Tuple<T1, T2, T3, T4, T5>>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, T1, T2, T3, T4>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>) IObservable<Tuple<T1, T2, T3, T4>>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, T1, T2, T3>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>) IObservable<Tuple<T1, T2, T3>>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, T1, T2>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>) IObservable<Tuple<T1, T2>>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Expression<Func<MessageBus, T9>>, Expression<Func<MessageBus, T10>>, Expression<Func<MessageBus, T11>>, Expression<Func<MessageBus, T12>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Expression<Func<MessageBus, T9>>, Expression<Func<MessageBus, T10>>, Expression<Func<MessageBus, T11>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Expression<Func<MessageBus, T9>>, Expression<Func<MessageBus, T10>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Expression<Func<MessageBus, T9>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7, T8>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Expression<Func<MessageBus, T8>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Expression<Func<MessageBus, T7>>, Func<T1, T2, T3, T4, T5, T6, T7, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4, T5, T6>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Expression<Func<MessageBus, T6>>, Func<T1, T2, T3, T4, T5, T6, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4, T5>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Expression<Func<MessageBus, T5>>, Func<T1, T2, T3, T4, T5, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3, T4>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Expression<Func<MessageBus, T4>>, Func<T1, T2, T3, T4, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2, T3>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Expression<Func<MessageBus, T3>>, Func<T1, T2, T3, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1, T2>(Expression<Func<MessageBus, T1>>, Expression<Func<MessageBus, T2>>, Func<T1, T2, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet, T1>(Expression<Func<MessageBus, T1>>, Func<T1, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<MessageBus, TRet>(Expression<Func<MessageBus, TRet>>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of a property on an object has changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
With(Action) void
Override the default Message Bus during the specified block.
With<MessageBus, TKey, TField>(Dictionary<TKey, TField>, IDictionary<TKey, TField>) TBuilder
Adds the specified dictionary to the provided dictionary.
With<TRet>(Func<TRet>) TRet
Override the default Message Bus during the specified block.
WithMessageBus() IDisposable
WithMessageBus allows you to override the default Message Bus implementation until the object returned is disposed. If a message bus is not specified, a default empty one is created.