1

コードで StructureMap を使用してインスタンスを作成していますが、コンストラクターは文字列を受け取ります。構成では、パラメーターにプレースホルダーを使用します。パラメータ値が null のオブジェクトを作成しようとしています。ObjectFactory からオブジェクトを取得すると、パラメーターの値は null ではなく、プレースホルダーと等しくなります。

オブジェクトの構成は次のとおりです。

<DefaultInstance PluginType="Blah.NDQA.Core.Data.IUserManagementRepository,Blah.NDQA.Core" PluggedType="Blah.NDQA.Data.MySql.MySqlUserManagementRepository,Blah.NDQA.Data" companyID="placeholder"/>

これが私がそれを作成する方法です:

IUserRightsRepository rightsRepo = ObjectFactory.With("companyID").EqualTo(null).GetInstance<IUserRightsRepository>();

特定のケースでは、companyID = null で、インスタンスの値は「プレースホルダー」と同じです。

プレースホルダー値の代わりに companyID = null の値を使用して実際にオブジェクトを作成する方法についての情報をいただければ幸いです....

4

1 に答える 1

1

試す:

ObjectFactory.With<string>(null).GetInstance<IUserRightsRepository>();
于 2010-06-04T17:31:30.250 に答える