Castle Windsor xác định constructor nào cần giải quyết khi có nhiều hàm tạo hiện diện?Thứ tự giải quyết hàm xây dựng là gì?
Trả lời
Tất cả các nhà xây dựng có sẵn được mô hình hóa làm ứng cử viên và về cơ bản cuộc thi được thực hiện trong số đó.
Mỗi tham số trong hàm tạo đại diện cho một phụ thuộc có thể thỏa mãn hay không. Đối với mỗi ứng viên hàm tạo, tất cả các phụ thuộc được phân tích.
Nếu phụ thuộc có thể thỏa mãn, đó là hai điểm cho ứng cử viên. Nếu không thể thỏa mãn, hai điểm sẽ bị trừ khỏi ứng cử viên.
Ứng viên hàm tạo có nhiều điểm nhất sẽ thắng và được chọn để khởi tạo thành phần.
Mã cho thuật toán này là here.
Castle Windsor sẽ sử dụng hàm tạo có nhiều tham số nhất mà phụ thuộc của nó có thể giải quyết.
Khi có hai hàm tạo có cùng số tham số mà Windsor có thể giải quyết, hành vi được sử dụng dường như tùy ý nhưng có thể đã được sửa.
Xem post này bằng cách Krzysztof Kozmic
- 1. Cách giải quyết lỗi đường dẫn xây dựng?
- 2. Thứ tự các nhà xây dựng gọi điện
- 3. Thứ tự xây dựng dự án trong Visual Studio 2010?
- 4. Thứ tự xây dựng trong kế thừa ảo
- 5. giải quyết đối số hàm
- 6. Giải quyết sự cố 'Gọi phương thức ảo trong sự cố của người xây dựng'
- 7. giải pháp xây dựng cho
- 8. "Đối tượng được xây dựng không hoàn toàn" là gì?
- 9. Eclipse C++ Loại không thể được giải quyết lỗi mặc dù xây dựng thành công
- 10. Nhà xây dựng ngầm là gì trên Java
- 11. Hiện tại hệ thống xây dựng tốt nhất là gì
- 12. LDAP giải quyết những gì?
- 13. Không thể giải quyết biểu tượng 'scp' trong IntelliJ IDEA 11 Tập lệnh xây dựng Ant
- 14. Xây dựng bộ thử nghiệm không thành công - (android.test.suitebuilder.TestSuiteBuilder $ FailedToCreateTests). Làm thế nào để giải quyết?
- 15. Tại sao quá trình xây dựng quá tải này giải quyết không chính xác?
- 16. Dependencies Chưa giải quyết khi xây dựng đóng 2,0 dự án
- 17. Không thể xây dựng actionbarsherlock: BuildConfig không thể được giải quyết thành một biến
- 18. 'Ngôn ngữ xây dựng' có nghĩa là gì?
- 19. Vấn đề với thứ tự độ phân giải constructor
- 20. shell được xây dựng trong lệnh trong linux là gì?
- 21. Sự khác biệt giữa "xây dựng" và "xây dựng lại" trong Visual Studio là gì?
- 22. Điều gì có nghĩa là "xây dựng" một chương trình
- 23. Giải pháp phi hàm mũ để giải quyết vấn đề?
- 24. Làm thế nào để giải quyết cấu hình đoán kiểu xây dựng thất bại?
- 25. Ưu điểm của bộ giải quyết SMT trên bộ giải mã CSP trong giải quyết hạn chế là gì?
- 26. Công cụ tốt để xây dựng đường ống là gì?
- 27. Làm cách nào để xây dựng mô hình 3D của một phòng từ 2 máy ảnh stereo? Yếu tố quyết định để xây dựng chính xác là gì?
- 28. Cách Debian tự động tìm nạp phụ thuộc xây dựng trong Debian hoặc Ubuntu là gì?
- 29. Ý nghĩa của thứ tự các câu lệnh trong mysql giải thích đầu ra là gì?
- 30. trình xây dựng ứng dụng rails3 là gì?
Cảm ơn thông tin ... –
Cảm ơn thông tin Mauricio. Tôi đang gặp "vấn đề" với Windsor trong một dự án liên quan đến S # arpArch và điều đó giúp ích rất nhiều! – WillCodeForCoffee
Rất tốt Said! Tôi tìm thấy một liên kết này trên một cái gì đó tương tự mà nói về vấn đề vốn có với các nhà thầu quá tải ở vị trí đầu tiên trong các thành phần của bạn khi bạn đang sử dụng DI container để nhanh chóng lớp học của bạn: http://stackoverflow.com/questions/7926686/castle- windsor-force-resolver-to-use-quy định-constructor – RBT