The recording of the first ever ReactiveUI virtual conference is available on our YouTube Channel.

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, 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, 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, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindValidation<MessageBus, TViewModel, TViewModelProperty, TViewProperty>(TViewModel, Expression<Func<TViewModel, TViewModelProperty>>, Expression<Func<MessageBus, TViewProperty>>, IValidationTextFormatter<string>) IDisposable
Binds the specified ViewModel property validation to the View property.
BindValidation<MessageBus, TViewModel, TViewModelProperty>(TViewModel, Expression<Func<TViewModel, TViewModelProperty>>, TextInputLayout, IValidationTextFormatter<string>) IDisposable
Platform binding to the TextInputLayout.
BindValidation<MessageBus, TViewModel, TViewModelProperty>(TViewModel, Expression<Func<TViewModel, TViewModelProperty>>, TextInputLayout, IValidationTextFormatter<string>) IDisposable
Platform binding to the TextInputLayout.
BindValidation<MessageBus, TViewModel, TViewProperty>(TViewModel, Expression<Func<MessageBus, TViewProperty>>, IValidationTextFormatter<string>) IDisposable
Binds the overall validation of a ViewModel to a specified View property.
BindValidation<MessageBus, TViewModel, TViewProperty>(TViewModel, Expression<Func<TViewModel, ValidationHelper>>, Expression<Func<MessageBus, TViewProperty>>, IValidationTextFormatter<string>) IDisposable
Binds a ValidationHelper from a ViewModel to a specified View property.
BindValidation<MessageBus, TViewModel>(TViewModel, Expression<Func<TViewModel, ValidationHelper>>, TextInputLayout, IValidationTextFormatter<string>) IDisposable
Platform binding to the TextInputLayout.
BindValidation<MessageBus, TViewModel>(TViewModel, Expression<Func<TViewModel, ValidationHelper>>, TextInputLayout, IValidationTextFormatter<string>) IDisposable
Platform binding to the TextInputLayout.
BindValidationEx<MessageBus, TViewModel, TViewModelProperty>(TViewModel, Expression<Func<TViewModel, TViewModelProperty>>, TextInputLayout, IValidationTextFormatter<string>) IDisposable
Platform binding to the TextInputLayout.
BindValidationEx<MessageBus, TViewModel, TViewModelProperty>(TViewModel, Expression<Func<TViewModel, TViewModelProperty>>, TextInputLayout, IValidationTextFormatter<string>) IDisposable
Platform binding to the TextInputLayout.
InvokeViewModelAction<T>(Action<T>) object
This is a thing I lifted from Prism.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<MessageBus, TRet, T1, T2>(Expression<Func<MessageBus, IObservable<T1>>>, Expression<Func<MessageBus, IObservable<T2>>>, Func<T1, T2, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
Observe a observable which is set to a property, and automatically subscribe to the most recent emitted value.
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<MessageBus, TRet>(Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>, Expression<Func<MessageBus, IObservable<TRet>>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
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<(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<(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<(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<(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<(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<(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.