Skip to content

MessageBus class

Defined in

Namespace: ReactiveUI Assembly: ReactiveUI.dll Full name: ReactiveUI.MessageBus Modifiers: public

Summary

View source

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.

Applies to

net10.0, net10.0-android36.0, net10.0-ios26.0, net10.0-macos26.0, net10.0-windows10.0.19041, net10.0-tvos26.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net9.0, net9.0-tvos18.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-desktop1.0, net9.0-browserwasm1.0, net9.0-macos15.0, net9.0-ios18.0, net9.0-android35.0, net8.0, net8.0-macos14.5, net8.0-macos14.2, net8.0-maccatalyst17.5, net8.0-ios17.5, net8.0-tvos18.0, net8.0-macos15.0, net8.0-ios18.0, net8.0-windows10.0.19041, net8.0-maccatalyst18.0, net8.0-tvos17.2, netstandard2.1, net481, net462

Class hierarchy
classDiagram
class MessageBus
class IMessageBus {
    <>
}
IMessageBus <|.. MessageBus
class IEnableLogger {
    <>
}
IEnableLogger <|.. MessageBus

Implements: IMessageBus, IEnableLogger

Constructors

NameSummary
.ctor

Properties

NameSummary
static CurrentGets or sets the global message bus instance used for publishing and subscribing to messages across the application.

Methods

NameSummary
RegisterSchedulerRegisters a scheduler for the type, which may be specified at runtime, and the contract.
ListenListen provides an Observable that will fire whenever a Message is provided for this object via RegisterMessageSource or SendMessage.
ListenIncludeLatestListen provides an Observable that will fire whenever a Message is provided for this object via RegisterMessageSource or SendMessage.
IsRegisteredDetermines if a particular message Type is registered.
RegisterMessageSourceRegisters an Observable representing the stream of messages to send. Another part of the code can then call Listen to retrieve this Observable.
SendMessageSends 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...
Inherited members