Tôi đã đăng ký một thành phầnCho phép tùy chọn (null) bất động sản tiêm trong Castle Windsor thông qua phương pháp nhà máy?
container.Register(Component.For<XType>()
.LifeStyle.Is(LifestyleType.Transient)
.UsingFactoryMethod(SomeMethod));
và hiện đang sử dụng này để tiêm tài sản trên bộ điều khiển ASP.NET MVC của tôi. Tuy nhiên - vấn đề hiện tại của tôi là SomeMethod có thể trả về null đôi khi. Lâu đài không phải là tất cả quá hạnh phúc về điều này và phàn nàn về một trường hợp null.
Có cách nào gọn gàng để định cấu hình Windsor để cho phép thành phần này rỗng không? Tôi đã khám phá các tài liệu nhưng chưa tìm ra cách để làm điều đó.
Cảm ơn.
Khách hàng của bạn có xử lý các tham chiếu thành phần không? Bạn có thể đặt mã xử lý null trong thực thi mặc định và tạo nó thay vì trả về null – onof
Tôi đang sử dụng mẫu NullObject như một giải pháp tạm thời. Một tùy chọn khác có thể là gói nó trong một thành phần khác mà chỉ trả về giá trị null/non-null - nhưng có vẻ như nó khá khó xử. – RasmusKL
xem câu trả lời cập nhật của tôi. –