C# Prism 7-将ConfigurationModuleCatalog与DirectoryModuleCatalog合并
我想使用这两种方法:C# Prism 7-将ConfigurationModuleCatalog与DirectoryModuleCatalog合并,c#,wpf,unity-container,prism,C#,Wpf,Unity Container,Prism,我想使用这两种方法: protected override IModuleCatalog CreateModuleCatalog() { return new ConfigurationModuleCatalog(); } 及 我发现这个问题: 但答案中的链接已失效,返回404 我还搜索了答案中提到的“AggregateCatalog”-我在这里查看: 在这里: 但是我没有找到它 在Unity Prism 7中有什么方法可以做到这一点吗?试试这个: protected overr
protected override IModuleCatalog CreateModuleCatalog()
{
return new ConfigurationModuleCatalog();
}
及
我发现这个问题:
但答案中的链接已失效,返回404
我还搜索了答案中提到的“AggregateCatalog”-我在这里查看:
在这里:
但是我没有找到它
在Unity Prism 7中有什么方法可以做到这一点吗?试试这个:
protected override IModuleCatalog CreateModuleCatalog()
{
var a = new DirectoryModuleCatalog() { ModulePath = @".\Modules" };
var b = new ConfigurationModuleCatalog();
return new ModuleCatalog(a.Modules.OfType<ModuleInfo>().Concat(b.Modules).OfType<ModuleInfo>());
}
受保护的覆盖IModuleCatalog CreateModuleCatalog()
{
var a=new DirectoryModuleCatalog(){ModulePath=@.\Modules};
var b=新配置ModuleCatalog();
返回新的ModuleCatalog(a.Modules.OfType().Concat(b.Modules.OfType());
}
是否尝试返回一个合并的ModuleCatalog
<代码>变量a=new DirectoryModuleCatalog(){ModulePath=@.\Modules};var b=新配置ModuleCatalog();返回新的ModuleCatalog(a.Modules.Concat(b.Modules))代码>。它几乎可以工作。错误在最后一行,对于构造函数参数:参数1:无法从“System.Collections.Generic.IEnumerable”转换为“System.Collections.Generic.IEnumerable”,请查看我的答案。非常感谢!)
protected override IModuleCatalog CreateModuleCatalog()
{
var a = new DirectoryModuleCatalog() { ModulePath = @".\Modules" };
var b = new ConfigurationModuleCatalog();
return new ModuleCatalog(a.Modules.OfType<ModuleInfo>().Concat(b.Modules).OfType<ModuleInfo>());
}