假設我有以下類。使用Unity解析各種類型的特定構造函數參數
public class Service1
{
public Service1(Dependency1 dependency1, Dependency2 dependency2, string myAppSetting)
{
}
}
public class Service2
{
public Service2(DependencyA dependency1, ..., DependencyD dependency4, string myAppSetting)
{
}
}
Unity容器用於通過依賴注入填充構造函數參數; container.Resolve(..)方法永遠不會直接調用。
上述類有各種參數,但最後一個參數string myAppSetting
總是相同的。有沒有辦法將Unity容器配置爲始終使用特定的基元類型和名稱將參數解析爲不同類中的特定值?
我知道你可以爲每個類型註冊注入構造函數,這對我來說似乎很脆弱。另一種方式可能是將字符串參數包裝在自定義類中。但我想知道是否有辦法處理特定的原始類型構造函數參數。
聽起來像最好的解決方法是將所有原始參數包裝在類/接口中。 –
您需要最終解決這些原語。所以你會需要某種類型的參數列表的生成器類來保持你的Unity配置不變 - 你尋求的。 – Jasen