0
我從第三方提供商處獲取一些引號。我在轉化中的引號,以我的本地對象,但需要有關如何創建一個新的報價對象,你不知道你有多少的報價需要在構造函數列表建議使用AutoFac創建未定義長度的對象集合
我想這
public class ConvertThirdPartyQuoteToLocalQuote
{
private readonly IQuote quote;
public ConvertThirdPartyQuoteToLocalQuote(IQuote quote)
{
this.quote = quote;
}
public IQuote ConvertToDomainQuote(List<ThirdPartyQuote> thirdPartyQuotes)
{
var response = new List<IQuote>();
foreach (var thirdPartyQuote in thirdPartyQuotes)
{
quote.Price = thirdPartyQuote.Price;
quote.Description = thirdPartyQuote.Price;
response.Add(quote);
}
return response;
}
}
但它只是寫了同一個對象。
我想要做一些像這樣的事情,但不知道怎麼回事,
public class ConvertThirdPartyQuoteToLocalQuote
{
public IQuote ConvertToDomainQuote(List<ThirdPartyQuote> thirdPartyQuotes)
{
var response = new List<IQuote>();
foreach (var thirdPartyQuote in thirdPartyQuotes)
{
// Use autofac to new up an instance in each loop
// or pass it through the constructor
quote.Price = thirdPartyQuote.Price;
quote.Description = thirdPartyQuote.Price;
response.Add(quote);
}
return response;
}
}
我真的不希望我的污染與autofac代碼代碼,如果我能避免它,以便傳遞對象通過構造函數是可取的,但願意妥協
任何想法?
我能做什麼,如果我想一個參數傳遞到quoteBuilder(),這樣我可以添加到構造?例如 var someValue =「SomeValue」; IQuote quote = this.quoteBuilder(someValue); – user1838438
@ user1838438如果你想將某些東西傳遞給構造函數,那麼'Container'不應該成爲方程的一部分。你應該'''''報價'對象 - 試着限制你使用'Container'來服務注入,而不是創建'Dto'類型的實例。 – qujck