В моем приложении Silverlight RIA я могу успешно внедрить класс ExceptionHelper с помощью инжектора конструктора:
[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;
}
Метод SetUp успешно регистрирует и обрабатывает исключение теста.
Однако я не могу 'Это не сработает, если я вместо этого использую инъекцию свойства:
[Dependency]
public IExceptionHelper ExceptionHelper { get; set; }
, а затем использую
catch (Exception ex)
{
ExceptionHelper.HandleException(ex, string.Format("{0} -> {1}", GetType().FullName, "Setup"));
}
в методе SetUp.Если я использую это, тестовое исключение не регистрируется и не обрабатывается.
Я явно что-то здесь упускаю - есть идеи?