SimpleIoc
概要
public class SimpleIoc : ISimpleIoc
名前空間
GalaSoft.MvvmLight.Ioc
アセンブリ
- GalaSoft.MvvmLight.Extras
メソッド
ContainsCreated<TClass>
ContainsCreated<TClass>
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
IsRegistered<T>
IsRegistered<T>
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
のインスタンスが得られる) - 引数
createInstanceImmediately
がtrue
ならば、直ちにインスタンスを生成する。
(false
を指定した、または、引数createInstanceImmediately
を指定しなかった場合、GetInstance
メソッド等を実行した時点で、インスタンスを生成する) - 引数
factory
を指定した場合、インスタンスの生成にfactory
を使う。 - 引数
key
は、TClass
またはTInterface
とともにコンテナーに登録される。GetInstance
メソッド等でインスタンスを区別するキーに用いる。
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
の登録は、コンテナーから削除されない。