Messengerクラス(MVVM Light Toolkit リファレンス)


Messenger

概要

public class Messenger : IMessenger
  • IMessengerインターフェイスを実装したメッセンジャーのクラス。
名前空間
  • GalaSoft.MvvmLight.Messaging

アセンブリ

  • GalaSoft.MvvmLight

メソッド

Cleanup

Cleanup
public void Cleanup()
概要
  • メッセージの受領者リストから、無効な(ガベージコレクションされた)インスタンスを取り除く。同期的に実行する。
  • このメソッドよりも、RequestCleanupメソッドを使うべきである。

OverrideDefault

OverrideDefault
public static void OverrideDefault(IMessenger newMessenger)
概要
  • Messenger.Defaultが戻すインスタンスをnewMessengerに変更する。
  • 単体テストなどの場合に使うとよい。

Register<TMessage>

Register<TMessage>
public virtual void Register<TMessage>(object recipient, System.Action<TMessage> action, bool keepTargetAlive = false)
public virtual void Register<TMessage>(object recipient, object token, System.Action<TMessage> action, bool keepTargetAlive = false)
public virtual void Register<TMessage>(object recipient, bool receiveDerivedMessagesToo, System.Action<TMessage> action, bool keepTargetAlive = false)
public virtual void Register<TMessage>(object recipient, object token, bool receiveDerivedMessagesToo, System.Action<TMessage> action, bool keepTargetAlive = false)
概要
  • TMessage型のメッセージの受領者として、recipentを登録する。
  • メッセージを受領したとき、actionを実行する。actionがクロージャーの場合、keepTargetAlivetrueにすること。
  • tokenを指定した場合、メッセージの受領者は、同じtokenを指定したメッセージのみを受領する。
  • receiveDerivedMessagesTootrueの場合、メッセージの受領者は、TMessage型の派生クラスのメッセージも受領する。TMessage型がインターフェイスの場合、TMessageを実装したクラスのメッセージを受領する。

RequestCleanup

RequestCleanup
public void RequestCleanup()
概要
  • メッセージの受領者リストから、無効な(ガベージコレクションされた)インスタンスを取り除く。アプリケーションがアイドル時に、非同期に実行する。
  • Cleanupメソッドではなく、このメソッドを使うべきである。

Reset

Reset
public static void Reset()
概要
  • Messenger.Defaultが戻すインスタンスを、新しく作り直す。

ResetAll

ResetAll
public void ResetAll()
概要
  • Messenger.Defaultが戻すインスタンスを、新しく作り直す。
  • Resetと同じ働きをするメソッドの、インスタンス・メンバー版。

Send<TMessage>, Send<TMessage, TTarget>

Send<TMessage>, Send<TMessage, TTarget>
public virtual void Send<TMessage>(TMessage message)
public virtual void Send<TMessage>(TMessage message, object token)
public virtual void Send<TMessage, TTarget>(TMessage message)
概要
  • TMessage型のメッセージを送る。
  • tokenを指定した場合、同じtokenを指定して登録した受領者のみ、このメッセージを受領する。
  • TTargetを指定した場合、受領者の型がTTargetの場合のみ、このメッセージを受領する。

Unregister, Unregister<TMessage>

Unregister, Unregister<TMessage>
public virtual void Unregister(object recipient)
public virtual void Unregister<TMessage>(object recipient)
public virtual void Unregister<TMessage>(object recipient, object token)
public virtual void Unregister<TMessage>(object recipient, System.Action<TMessage> action)
public virtual void Unregister<TMessage>(object recipient, object token, System.Action<TMessage> action)
概要
  • recipientを、メッセージの受領者としての登録を解除する。
  • TMessageを指定した場合、TMessage型のメッセージの受領についてのみ、登録を解除する。
  • tokenを指定した場合、同じtokenを指定したメッセージの受領についてのみ、登録を解除する。
  • actionを指定した場合、同じactionを指定したメッセージの受領についてのみ、登録を解除する。

プロパティ

Default

Default
public static IMessenger Default { get; }
概要
  • デフォルトのメッセンジャーのインスタンスを戻す。

参照