2009-09-04 60 views

回答

23

所有可用的構造函數都被建模爲候選項,並且基本上在其中運行比賽。

構造函數中的每個參數都表示可以滿足或不滿足的依賴關係。對於每個構造函數候選,都會分析所有的依賴關係。

如果能夠滿足依賴關係,那麼候選人就是兩分。如果不能滿足,則從候選人中減去兩分。

具有最多點的構造函數候選項勝出,並被選中以實例化組件。

該算法的代碼是here

+0

感謝您的信息... – 2009-09-04 04:29:01

+0

感謝您的信息毛。我在與Windsor的S#arpArch相關的項目中遇到了「問題」,這對我有很大的幫助! – WillCodeForCoffee 2009-10-10 14:23:54

+0

很好說!我在類似的東西上發現了一個更多的鏈接,當你使用DI容器來實例化你的類時,這些鏈接將討論在組件中首先重載構造函數的固有問題:http://stackoverflow.com/questions/7926686/castle- windsor-force-resolver-to-use-specified-constructor – RBT 2016-03-15 01:30:12

1

Castle Windsor將使用其參數最多的構造函數,它可以解析它的依賴關係。

當有兩個構造函數具有與Windsor可以解析的相同數量的參數時,此行爲看起來是任意的,但可能已被修復。

由剋日什托夫·Kozmic看到這個post