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>());
}