Windsor Container にあまり詳しくなく、他の人が書いたコードを変更しています。PgDataAccess (独自のクラス) データ型プロパティを持つ WindsorContainer 内のすべてのオブジェクトを初期化するコードがあります。
public PgDataAccess da { get; set; }
コードは次のとおりです。
_windsorContainer.Register(Component.For<PgDataAccess>().UsingFactoryMethod(() =>
{
var dataAccess = new PgDataAccess();
dataAccess.ConnectionString = connectionString;
return dataAccess;
}));
いくつかのエラーによると、このコンテナー内のすべてのオブジェクトに同じ PgDataAccess クラス インスタンスが使用されているようです。この初期化を変更して、すべてのコンテナのオブジェクトに個別の PgDataAccess クラス インスタンスを登録するにはどうすればよいですか? 次の意味を持つもの:
foreach(component in _windsorContainer.Components.<PgDataAccess>())
{
var dataAccess = new PgDataAccess();
dataAccess.ConnectionString = connectionString;
component.da = dataAccess;
}