LoginSignup
0
1

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-12-22

SimpleIoc

概要

public class SimpleIoc : ISimpleIoc
名前空間
  • GalaSoft.MvvmLight.Ioc

アセンブリ

  • GalaSoft.MvvmLight.Extras

メソッド

ContainsCreated<TClass>

ContainsCreated<TClass>
public bool ContainsCreated<TClass>()
public bool ContainsCreated<TClass>(string key)
概要
  • 引数keyを指定した場合、そのkeyを付けて生成したTClassのインスタンスが、コンテナー内にあるかを戻す。
  • 引数を指定しなかった場合、キーを付けて生成したインスタンスを含め、TClassのインスタンスが、コンテナー内にあるかを戻す。
戻り値
  • コンテナー内にTClassのインスタンスがある場合、trueを戻す。

GetAllCreatedInstances
GetAllCreatedInstances<TService>

GetAllCreatedInstances, GetAllCreatedInstances<TService>
public System.Collections.Generic.IEnumerable<object> GetAllCreatedInstances(System.Type serviceType)
public System.Collections.Generic.IEnumerable<TService> GetAllCreatedInstances<TService>()
概要
  • serviceTypeまたはTServiceで指定したクラスの、コンテナー内の全てのインスタンスを戻す。
  • コンテナー内に指定したクラスのインスタンスがない場合、このメソッドを呼び出してもインスタンスを生成しない。
戻り値
  • 指定したクラスの、コンテナー内の全てのインスタンスのコレクションを戻す。
  • 引数serviceTypeを指定した場合、戻り値はobjectのコレクション。
  • 型引数TServiceを指定した場合、戻り値はTServiceのコレクション。

GetAllInstances
GetAllInstances<TService>

GetAllInstances, GetAllInstances<TService>
public System.Collections.Generic.IEnumerable<object> GetAllInstances(System.Type serviceType)
public System.Collections.Generic.IEnumerable<TService> GetAllInstances<TService>()
概要
  • serviceTypeまたはTServiceで指定したクラスの、コンテナー内の全てのインスタンスを戻す。
  • コンテナー内に指定したクラスのインスタンスがない場合、インスタンスを生成する。
戻り値
  • 指定したクラスの、コンテナー内の全てのインスタンスのコレクションを戻す。
  • 引数serviceTypeを指定した場合、戻り値はobjectのコレクション。
  • 型引数TServiceを指定した場合、戻り値はTServiceのコレクション。

GetInstance
GetInstance<TService>

GetInstance, GetInstance<TService>
public object GetInstance(System.Type serviceType)
public object GetInstance(System.Type serviceType, string key)
public TService GetInstance<TService>()
public TService GetInstance<TService>(string key)
概要
  • serviceTypeまたはTServiceで指定したクラスの、インスタンスを戻す。
  • 引数keyを指定した場合、そのkeyを付けて生成したインスタンスを戻す。
  • 指定したクラス、およびkeyを付けて生成したインスタンスがコンテナー内にない場合、インスタンスを生成する。
戻り値
  • 指定したクラス、およびkeyが付けて生成したインスタンスを戻す。
  • 引数serviceTypeを指定した場合、戻り値はobject
  • 型引数TServiceを指定した場合、戻り値はTService
例外
  • 指定したクラスがコンテナーに登録されていない場合、CommonServiceLocator.ActivationExceptionが投げられる。

GetInstanceWithoutCaching
GetInstanceWithoutCaching<TService>

GetInstanceWithoutCaching, GetInstanceWithoutCaching<TService>
public object GetInstanceWithoutCaching(System.Type serviceType)
public object GetInstanceWithoutCaching(System.Type serviceType, string key)
public TService GetInstanceWithoutCaching<TService>()
public TService GetInstanceWithoutCaching<TService>(string key)
概要
  • serviceTypeまたはTServiceで指定したクラスの、新たに生成したインスタンスを戻す。コンテナー内にインスタンスがある場合も、インスタンスを生成する。また、生成したインスタンスは、コンテナー内に登録しない。
  • 引数keyを指定した場合、そのkeyを付けて生成したインスタンスを戻す。
戻り値
  • 指定したクラス、およびkeyが付けて生成したインスタンスを戻す。
  • 引数serviceTypeを指定した場合、戻り値はobject
  • 型引数TServiceを指定した場合、戻り値はTService
例外
  • 指定したクラスがコンテナーに登録されていない場合、CommonServiceLocator.ActivationExceptionが投げられる。

GetService

GetService
public object GetService(System.Type serviceType)
概要
  • TServiceで指定したクラスの、インスタンスを戻す。
  • 指定したクラスのインスタンスがコンテナー内にない場合、インスタンスを生成する。
  • GetInstance(System.Type serviceType)メソッドと同等である。
戻り値
  • 指定したクラスのインスタンスを戻す。戻り値はTService
例外
  • 指定したクラスがコンテナーに登録されていない場合、CommonServiceLocator.ActivationExceptionが投げられる。

IsRegistered<T>

IsRegistered<T>
public bool IsRegistered<T>()
public bool IsRegistered<T>(string key)
概要
  • 引数keyを指定した場合、そのkeyを付けてTがコンテナーに登録されているかを戻す。
  • 引数を指定しなかった場合、Tがコンテナーに登録されているかを戻す。
戻り値
  • Tがコンテナーに登録されている場合、trueを戻す。

Register<TClass>
Register<TInterface, TClass>

Register<TClass>, Register<TInterface, TClass>
public void Register<TClass>()
public void Register<TClass>(bool createInstanceImmediately)
public void Register<TClass>(System.Func<TClass> factory)
            where TClass : class
public void Register<TClass>(System.Func<TClass> factory, bool createInstanceImmediately)
            where TClass : class
public void Register<TClass>(System.Func<TClass> factory, string key)
            where TClass : class
public void Register<TClass>(System.Func<TClass> factory, string key, bool createInstanceImmediately)
            where TClass : class
public void Register<TInterface, TClass>()
            where TInterface : class
            where TClass : class, TInterface
public void Register<TInterface, TClass>(bool createInstanceImmediately)
            where TInterface : class
            where TClass : class, TInterface
概要
  • コンテナーにTClassを登録する。
  • 型引数TInterfaceを指定した場合、インターフェイスTInterfaceを実装するクラスとしてTClassをコンテナーに登録する。
    TInterfaceを指定してGetInstanceメソッド等を実行した場合、TClassのインスタンスが得られる)
  • 引数createInstanceImmediatelytrueならば、直ちにインスタンスを生成する。
    falseを指定した、または、引数createInstanceImmediatelyを指定しなかった場合、GetInstanceメソッド等を実行した時点で、インスタンスを生成する)
  • 引数factoryを指定した場合、インスタンスの生成にfactoryを使う。
  • 引数keyは、TClassまたはTInterfaceとともにコンテナーに登録される。GetInstanceメソッド等でインスタンスを区別するキーに用いる。

Reset

Reset
public void Reset()
概要
  • コンテナー内の全ての登録を削除する。

Unregister<TClass>

Unregister<TClass>
public void Unregister<TClass>()
public void Unregister<TClass>(string key)
public void Unregister<TClass>(TClass instance)
概要
  • 型引数TClassで指定したクラスの登録を、コンテナーから削除する。
  • 引数keyを指定した場合、keyを付けたTClassの登録のみを、コンテナーから削除する。TClassの他の登録があれば、それらはコンテナーから削除されない。
  • 引数instanceを指定した場合、そのインスタンスのみを、コンテナーから削除する。TClassの登録は、コンテナーから削除されない。

プロパティ

Default

Default
public static GalaSoft.MvvmLight.Ioc.SimpleIoc Default { get; }
概要
  • このクラスのデフォルトのインスタンス。

参照

0
1
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
1