Unity 2.0. Как скинуть ResolutionFailedException - PullRequest
0 голосов
/ 21 мая 2010

У меня есть приложение, использующее функциональность, основанную на блоке приложения Unity. Иногда мне нужно бросить ResolutionFailedException вручную. В версии 1.2 конструктор ResolutionFailedException имел три параметра - тип запроса, имя запроса и исключение. В версии 2.0 был добавлен четвертый параметр - buildercontext. Я не создаю его вручную, поэтому у меня нет ссылок на него и понятия, где я могу его получить. Грубо говоря, я переопределяю только метод Resolve особым образом и не вмешиваюсь в стандартный механизм политик, стратегий и так далее. Может ли кто-нибудь помочь?

1 Ответ

2 голосов
/ 22 мая 2010

На самом деле это исключение не должно вызываться разработчиком, в любом случае вы можете вызвать его следующим образом

    throw new ResolutionFailedException(
            typeof (IConcreteService), 
            "IConcreteService", 
            null, 
            new BuilderContext(null, null, null, null,                    NamedTypeBuildKey.Make<IConcreteService>("nameOrNullIfResolvedNotNamedInstance"), null)
            );
...