Table of Contents

Class StrongReferenceMessenger

Namespace
CommunityToolkit.Mvvm.Messaging
Assembly
CommunityToolkit.Mvvm.dll

A class providing a reference implementation for the IMessenger interface.

public sealed class StrongReferenceMessenger : IMessenger
Inheritance
StrongReferenceMessenger
Implements
Inherited Members
Extension Methods

Remarks

This IMessenger implementation uses strong references to track the registered recipients, so it is necessary to manually unregister them when they're no longer needed.

Constructors

StrongReferenceMessenger()

public StrongReferenceMessenger()

Properties

Default

Gets the default StrongReferenceMessenger instance.

public static StrongReferenceMessenger Default { get; }

Property Value

StrongReferenceMessenger

Methods

IsRegistered<TMessage, TToken>(object, TToken)

public bool IsRegistered<TMessage, TToken>(object recipient, TToken token) where TMessage : class where TToken : IEquatable<TToken>

Parameters

recipient object
token TToken

Returns

bool

Type Parameters

TMessage
TToken

Register<TRecipient, TMessage, TToken>(TRecipient, TToken, MessageHandler<TRecipient, TMessage>)

public void Register<TRecipient, TMessage, TToken>(TRecipient recipient, TToken token, MessageHandler<TRecipient, TMessage> handler) where TRecipient : class where TMessage : class where TToken : IEquatable<TToken>

Parameters

recipient TRecipient
token TToken
handler MessageHandler<TRecipient, TMessage>

Type Parameters

TRecipient
TMessage
TToken

Reset()

public void Reset()

Send<TMessage, TToken>(TMessage, TToken)

public TMessage Send<TMessage, TToken>(TMessage message, TToken token) where TMessage : class where TToken : IEquatable<TToken>

Parameters

message TMessage
token TToken

Returns

TMessage

Type Parameters

TMessage
TToken

UnregisterAll(object)

public void UnregisterAll(object recipient)

Parameters

recipient object

UnregisterAll<TToken>(object, TToken)

public void UnregisterAll<TToken>(object recipient, TToken token) where TToken : IEquatable<TToken>

Parameters

recipient object
token TToken

Type Parameters

TToken

Unregister<TMessage, TToken>(object, TToken)

public void Unregister<TMessage, TToken>(object recipient, TToken token) where TMessage : class where TToken : IEquatable<TToken>

Parameters

recipient object
token TToken

Type Parameters

TMessage
TToken