當我試圖傳遞兩個參數是相同類型的,像這樣:在溫莎城堡同類型的解決方案時參數
public IPercentage CreatePercentage(int part, int total)
{
return _container.Resolve<T>(new Arguments(part, total));
}
一個構造像這樣:
public Percentage(int part, int total)
{
// ...
}
然後我得到一個System.ArgumentException:具有相同密鑰的項目已被添加。
如何傳遞相同類型的參數?
- 關鍵的是我想避免使用參數的文本字符串名稱來識別哪些參數去哪裏
- ,而使用的參數
- ,只是一個事實,即它是順序只適用於構造函數,儘管我猜測溫莎的字典實現不允許這樣做。
這裏有兩種方法可以做到這一點:http://blog.ploeh.dk/2012/07/02/PrimitiveDependencies –
參見http://blog.ploeh.dk/2012/11/07/AppSettingsconventionforCastleWindsor –
@ MarkSeemann謝謝,但哪兩個?我有一個快速瀏覽,我不知道如何將它應用到目前的情況,因爲我談論的是從代碼到注入工廠(使用CreatePercentage方法)在解析時提供的參數,而不是在組合根上提供的參數;我的意思是哪兩個給定需要不使用硬編碼的字符串名稱,因爲它不適用於模糊處理:( – Cel