インターフェース:
public interface IPricingFactorsRepository
{
IList<LrfInputRates> GetLeaseRateFactorList(
string programCode,
string countryCode,
string currencyCode,
string leaseTerm);
}
派生/実装クラスの下にある:
public class PricingFactorsRepository : IPricingFactorsRepository
{
}
public class OverridePricingFactorsRepository : PricingFactorsRepository
{
}
外部には、インターフェースをコンストラクターパラメーターとして受け入れるクラスがあります。
public class PricingHandler
{
public PricingHandler(IPricingFactorRepository pricingFactorRepository)
{
}
}
しかし、構造マップでは、1 つのオプションだけで処理できるようです。
x.For<IPricingFactorsRepository>().Use<PricingFactorsRepository>();
場合によっては、渡されたパラメーターを のインスタンスにしたい場合も PricingFactorsRepository
ありますOverridePricingFactorsRepository
。