[英]What is the constructor resolution order?
當存在多個構造函數時,Castle Windsor如何確定要解析的構造函數?
所有可用的構造函數都被建模為候選者,並且基本上在它們之間運行競賽。
構造函數中的每個參數表示可以滿足或不滿足的依賴性。 對於每個構造函數候選者,分析所有依賴項。
如果可以滿足依賴性,那么候選者就是兩點。 如果不能滿足,則從候選者中減去兩個點。
具有最多積分的構造函數候選獲勝並被選擇來實例化該組件。
這個算法的代碼在這里 。
Castle Windsor將使用具有最多參數的構造函數,這些參數可以解析其依賴關系。
如果有兩個構造函數具有與Windsor可以解析的相同數量的參數,則該行為過去似乎是任意的,但可能已經修復。
請參閱Krzysztof Kozmic的這篇文章
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.