LoginSignup
0
0

More than 5 years have passed since last update.

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

Posted at

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; }
概要
  • デフォルトのメッセンジャーのインスタンスを戻す。

参照

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0