StructureMapレジストリコンストラクタ内で、(別のレジストリに登録された)いくつかの型のインスタンスを取得するにはどうすればよいですか?私はそのようなコードを使用したい:StructureMapレジストリコンストラクタでインスタンスを取得するにはどうすればよいですか?
IApplicationSettingsは、アプリケーション設定へのインターフェイスです。
public ApplicationServicesRegistry()
{
ForRequestedType<IApplicationSettings>().TheDefault.IsThis(
new ConfigFileApplicationSettings());
}
そして両方のレジストリは、ブートストラップに登録されています:このインターフェイス(現在ConfigFileApplicationSettingsクラス)を実現する具体的なタイプは、次のように別のレジストリに登録されて、私はのインスタンスを取得しよう
#region IBootstrapper Members
public void BootstrapStructureMap()
{
ObjectFactory.Initialize(InitalizeStructureMapContainer);
}
#endregion
#region Private properties
private static bool HasStarted { get; set; }
#endregion
#region Private methods
private void InitalizeStructureMapContainer(IInitializationExpression x)
{
x.IgnoreStructureMapConfig = true;
x.AddRegistry<ViewModelRegistry>();
x.AddRegistry<ApplicationServicesRegistry>();
x.AddRegistry<RepositoriesRegistry>();
x.AddRegistry<DataOperationsRegistry>();
}
#endregion
IApplicationRegisty in registry constructorエラーが発生しました(もちろん)。私は、StructureMapの正しい使い方を完全に理解していません。私は何か別のやり方でやるべきかもしれない。しかし、とにかく、レジストリコンストラクタに早期に登録されたある種のインスタンスを取得できますか?