1
我試圖讓我異常處理上下文依賴。我有一個工廠類構造異常處理程序。處理程序應該由最後拋出的異常類型構造。以經典的方式配置結構圖,它工作得很好。試圖使用條件構建,我的代碼失敗,我不明白爲什麼?! 我錯過了什麼?我的主要錯誤在哪裏?StructureMap - 在需求插入依賴關係
問候, -JAN
工作代碼:
ObjectFactory.Initialize(x =>
x.ForRequestedType<IExceptionHandler>()
.TheDefault.Is.OfConcreteType<MyExceptionHandler>());
非工作代碼
ObjectFactory.Initialize(x =>
x.ForRequestedType<IExceptionHandler>().TheDefault.Is.Conditional(o =>
o.TheDefault.Is.OfConcreteType(MyExceptionHandler)));
獲取一個實例:
IExceptionHandler handler = ObjectFactory.With("exception").EqualTo(exception).GetInstance<IExceptionHandler>();
所以我會盡量做到更具體:
我有一個BaseExceptionHandler,MyExceptionHandler從Base繼承,MyException繼承System.Exception。現在,如果我嘗試讓我處理我得到一個錯誤202:用於PluginFamily MyException沒有定義默認實例...
的類看起來如下所示...
public class MyException : System.Exception
{
public MyException()
{...}
...
}
public class BaseExceptionHandler
{
public BaseExceptionHandler(Exception exception)
{...}
...
}
public class MyExceptionHandler : BaseExceptionHandler
{
public MyExceptionHandler(MyException exception) : base(exception)
{...}
...
}
嗨, 謝謝Joshua,這讓我對它更加清楚。 現在我得到一個錯誤202雖然。 可能它與構造函數有關,所以我會更詳細地介紹涉及的類。 謝謝 -jan –