我参考了http://pwlodek.blogspot.in/2010/12/introduction-to-interceptingcatalog.html
这是一个很好的例子,但我在使用这段代码时有点困惑。我正在创建一个 WPF + Prism + MEF 应用程序,我正在定义所有依赖项,就像它在“Stock Trader RI”示例中定义的那样,根据 Stock Trader RI 我正在将所有模块初始化为 MyBootstrapper 类。在我的项目中,我需要支持 Open Generic,就像上面的链接示例中提供的那样。现在我的问题是我在哪里实现示例代码,我正在尝试将它实现到 MyBootstrapper ConfigureAggregateCatalog() 方法中
[CLSCompliant(false)]
public partial class ImsBootstrapper : MefBootstrapper
{
protected override void ConfigureAggregateCatalog()
{
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof (ImsBootstrapper).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof (ImsCommands).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof (DalModel).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof (TestClass).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof (TestClassImp).Assembly));
// Create source catalog
var typeCatalog = new TypeCatalog((typeof(RegistrationViewModel)));
// Create catalog which supports open-generics, pass in the registry
var genericCatalog = new GenericCatalog(new MyGenericContractRegistry());
// Aggregate both catalogs
var aggregateCatalog = new AggregateCatalog(typeCatalog, genericCatalog);
// Create the container
//var container = new CompositionContainer(aggregateCatalog);
this.Container = new CompositionContainer(aggregateCatalog);
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(StudentModel).Assembly));
}
但它不起作用,请指导我在哪里使用上面链接中给出的示例以获得开放通用(开放通用公共类存储库示例:IRepository)支持
- 在引导程序中
- 或者有些是别的
如果您仍然对我的问题感到困惑,请给我一个示例如何在“Stock Trader RI”演示应用程序中使用“MefContrib”为棱镜获得 OpenGeneric 支持我试图通过以下链接中给出的示例来实现这一点http:/ /pwlodek.blogspot.in/2010/12/introduction-to-interceptingcatalog.html但很困惑在 MyBootstrapper 或其他地方调用此代码 Wather 的位置。