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の登録は、コンテナーから削除されない。