簡體   English   中英

如果無法解析屬性,我如何告訴 Windsor 出錯?

[英]How do I tell Windsor to error if it can't resolve a property?

說我有以下課程

    public class TestA
    {
        public string Blah { get; set; }
    }

    public class TestB
    {
        public TestA Testing { get; set; }
    }

所以說我希望 Windsor 給我一個TestB的實例,但我也希望它使用屬性注入來實例化TestB.Testing屬性。 這部分很簡單,但我需要一種方法來知道是否刪除了TestA的 Windsor 注冊。

有沒有辦法標記Testing屬性,以便 Windsor 知道TestATestB的依賴項,因此如果它無法解析Testing屬性應該出錯? 我不想使用TestB構造函數,因為我正在尋找降低構造函數膨脹的方法。

如果它是強制依賴,它應該 go 進入構造函數期間。 否則,您將允許實例化無效組件,這與 Windsor 或 IoC 無關。

“構造函數膨脹”有時可能表明代碼需要重構,它可能承擔了太多責任。

編輯:如果您真的知道自己在做什么,則可以使用組件 model 貢獻者“手動”將依賴項更改為可選或強制。 我認為這應該只用於您無法控制的代碼,幾乎從不用於您自己的代碼。

暫無
暫無

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

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