0
在我的Silverlight應用程序RIA我可以通過構造函數注入成功注入的ExceptionHelper類:PRISM物業注射失敗
[InjectionConstructor]
public CDashCatDataService(IExceptionHelper exceptionHelper)
{
_exceptionHelper = exceptionHelper;
SetUp();
}
void SetUp()
{
if (_context == null)
{
try
{
throw new Exception("this is a test exception");
_context = new CDASHDomainContext();
}
catch (Exception ex)
{
_exceptionHelper.HandleException(ex, string.Format("{0} -> {1}", GetType().FullName, "Setup"));
}
}
Context = _context;
}
設置方法成功登錄並處理測試例外。
[Dependency]
public IExceptionHelper ExceptionHelper { get; set; }
,然後使用
catch (Exception ex)
{
ExceptionHelper.HandleException(ex, string.Format("{0} -> {1}", GetType().FullName, "Setup"));
}
的設置方法
:
不過,如果我使用屬性注入,而不是我不能得到這個工作。如果我使用這個,測試異常不會被記錄和處理。
我很明顯缺少這裏的東西 - 任何想法?
爲了回答我自己的問題,我認爲這是因爲ExceptionHelper屬性是通過SetUp方法從構造函數中調用的,並且只有在構造函數執行後才能調用注入的屬性。 – pilsdumps