我有兩個具體類型「CategoryFilter」&「StopWordsFilter」,實現了 「IWordTokensFilter」。StructureMap IoC問題在運行時獲取實例
下面是我的設置:
ForRequestedType<IWordTokensFilter>().TheDefaultIsConcreteType<CategoryFilter>()
.AddInstances(x =>
{
x.OfConcreteType<StopWordsFilter>();
}
);
問題是,當結構圖自動注入它在我的課,BEC的運行時間。我有相同的插件類型的參數:
public ClassA(IWordTokensFilter stopWordsFilter, IWordTokensFilter categoryFilter)
我總是得到CategoryFilter在我的第一個參數,但它應該是stopWordsFilter。
我如何以正確的方式設置此?在此先感謝
約書亞嗨,我對你的回答非常滿意。我想選擇解決方案1,但我有很多過濾器。所以,我決定使用3或4.順便說一句,將結構映射自動注入到您的解決方案1中的數組參數的所有具體類型?..再次感謝。 – 2010-05-07 08:06:32
是的,它會自動注入它知道的所有具體實例。您可以通過顯式使用AddInstances(如您的示例)來告訴它,或者在Scan中調用AddAllTypesOf。 – 2010-05-07 13:24:55
再次感謝老兄。 – 2010-05-10 12:59:01