Castle Windsor如何在存在多個構造函數時確定要解析哪個構造函數?什麼是構造函數解析順序?
14
A
回答
23
所有可用的構造函數都被建模爲候選項,並且基本上在其中運行比賽。
構造函數中的每個參數都表示可以滿足或不滿足的依賴關係。對於每個構造函數候選,都會分析所有的依賴關係。
如果能夠滿足依賴關係,那麼候選人就是兩分。如果不能滿足,則從候選人中減去兩分。
具有最多點的構造函數候選項勝出,並被選中以實例化組件。
該算法的代碼是here。
1
Castle Windsor將使用其參數最多的構造函數,它可以解析它的依賴關係。
當有兩個構造函數具有與Windsor可以解析的相同數量的參數時,此行爲看起來是任意的,但可能已被修復。
由剋日什托夫·Kozmic看到這個post
相關問題
- 1. 成員構造函數和析構函數調用的順序
- 2. 調用繼承構造函數/析構函數的順序,C++
- 3. 問題與構造解析順序
- 4. 爲什麼構造函數不是構造函數?
- 5. C函數解析順序
- 6. Python解析函數的順序是什麼? (爲什麼string.join(lst.append('a'))失敗?)
- 7. C++ 11的構造&析構函數順序
- 8. 爲什麼構造函數按相反順序調用?
- 9. 爲什麼析構函數調用的不止是構造函數?
- 10. 構造函數參數解析
- 11. 什麼是對象構造函數?
- 12. AS3構造函數 - 重點是什麼?
- 13. 什麼是volatile複製構造函數?
- 14. 什麼類型是構造函數?
- 15. Coq中的構造函數是什麼?
- 16. 什麼是合成構造函數?
- 17. 虛擬繼承中構造函數調用的順序是什麼?
- 18. 調用父類和子類的靜態構造函數的順序是什麼?
- 19. 默認移動構造函數內的賦值順序是什麼?
- 20. 調用構造函數的順序
- 21. 構造函數的優先順序
- 22. C++構造函數調用順序
- 23. 什麼是導致解析錯誤的複製構造函數錯誤?
- 24. C++中構造函數,複製構造函數,析構函數序列中的額外析構函數
- 25. 靜態構造函數的順序是否與構圖正確
- 26. Scala無法解析構造函數
- 27. 無法解析構造函數:'dojox.mobile.RoundRectCategory'
- 28. Android無法解析構造函數ArrayAdapter
- 29. 微調:無法解析構造函數
- 30. 無法解析構造函數'FirebaseListAdapter'
感謝您的信息... – 2009-09-04 04:29:01
感謝您的信息毛。我在與Windsor的S#arpArch相關的項目中遇到了「問題」,這對我有很大的幫助! – WillCodeForCoffee 2009-10-10 14:23:54
很好說!我在類似的東西上發現了一個更多的鏈接,當你使用DI容器來實例化你的類時,這些鏈接將討論在組件中首先重載構造函數的固有問題:http://stackoverflow.com/questions/7926686/castle- windsor-force-resolver-to-use-specified-constructor – RBT 2016-03-15 01:30:12