Ответы - CodeHelperСписок последних 15 ответов на вопрос с сайта CodeHelperuuid:a8a58a1d-2ce9-4a23-9c96-18031996e384;id=24132012-09-26T03:58:42Zuuid:a8a58a1d-2ce9-4a23-9c96-18031996e384;id=2414Как заставить GetObjectsOfType искать объекты, определенные в xml-файле настроек контейнера?2009-12-17T08:45:12-06:002009-12-17T08:45:12-06:00AlexanderВот создаем контекст: var cxt = ContextRegistry.GetContext(); GenericApplicationContext context = new GenericApplicationContext(cxt); При этом у нас в xml-настройках определено несколько объектов. Всеuuid:a8a58a1d-2ce9-4a23-9c96-18031996e384;id=2415Ответ от Alexander на вопрос с сайта CodeHelper2009-12-17T09:02:49-06:002009-12-17T09:02:49-06:00AlexanderНаверное никак. В общем-то все логично. ParentContext заполняется из xml, а регистрация из кода идет непосредственно в GenericApplicationContext , который является контейнером сам по себе. Так что метод GetObjectsOfType ищет только там, где он вызван. Хотя... с другой стороны данный метод определенuuid:a8a58a1d-2ce9-4a23-9c96-18031996e384;id=2416Ответ от Чак Норрис на вопрос с сайта CodeHelper2009-12-17T09:10:13-06:002009-12-17T09:10:13-06:00Чак НоррисМожно получить их в два этапа — сначала из самого контекста, потом из родительского: var objects = context.GetObjectsOfType(serviceType).Values; var objectsFromParent = context.ParentContext.GetObjectsOfType(serviceType).Values; Можно вообще не использовать иерархию контекстов. То есть создатьuuid:a8a58a1d-2ce9-4a23-9c96-18031996e384;id=2417Ответ от Alexander на вопрос с сайта CodeHelper2009-12-17T09:32:27-06:002009-12-17T09:32:27-06:00AlexanderВ общем, такой поиск может выглядеть так: public static class ExtensionMethods { private static void GetAllInstancesRecursive(IApplicationContext context, Type serviceType, ref ICollection<object> result) { if (context == null) return; foreach (object o in