Для целей локализации в Wpf я хотел бы перебрать все ResourceManager в сборке.
Причина, по которой я хочу это сделать, заключается в том, что у меня есть расширение разметки xaml для перевода. Это расширение разметки должно создавать экземпляр ResourceManager с использованием полностью определенного пространства имен и имени сборки.
Сборка по умолчанию - это сборка, в которой находится файл xaml, который можно получить следующим образом:
var rootObjectProvider = serviceProvider.GetService(typeof(IRootObjectProvider)) as IRootObjectProvider;
var root = rootObjectProvider.RootObject;
var assembly = ass = Assembly.GetAssembly(root.GetType());
Когда задан относительный путь, необходимо добавить путь по умолчанию, но это VS, а не сборка. Большинство сборок имеют то же имя, что и пространство имен по умолчанию, но это не всегда так. Поэтому я хотел бы перебрать все ResourceManager в Assembly и попытаться сопоставить последнюю часть их пространства имен с путем словаря, указанным для расширения разметки.