簡體   English   中英

什么是構造函數解析順序?

[英]What is the constructor resolution order?

當存在多個構造函數時,Castle Windsor如何確定要解析的構造函數?

所有可用的構造函數都被建模為候選者,並且基本上在它們之間運行競賽。

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

如果可以滿足依賴性,那么候選者就是兩點。 如果不能滿足,則從候選者中減去兩個點。

具有最多積分的構造函數候選獲勝並被選擇來實例化該組件。

這個算法的代碼在這里

Castle Windsor將使用具有最多參數的構造函數,這些參數可以解析其依賴關系。

如果有兩個構造函數具有與Windsor可以解析的相同數量的參數,則該行為過去似乎是任意的,但可能已經修復。

請參閱Krzysztof Kozmic的這篇文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM