【问题标题】:MEF .NET Core how export CompositionHost?MEF .NET Core 如何导出 CompositionHost?
【发布时间】:2019-03-08 14:22:59
【问题描述】:

我有下一个代码:

var configuration = new ContainerConfiguration().WithAssemblies(filteredLibraries, conventionBuilder);
CompositionHost container = configuration.CreateContainer();

接下来是导出的类之一:

    [Export(typeof(IClass1))]
    public class Class1 : IClass1
    {
        private readonly CompositionHost _host;
        public Class1(CompositionHost host)
        {
            _host = host;
        }
    }

如何将这个容器导出到自身?

【问题讨论】:

    标签: c# .net .net-core mef .net-standard


    【解决方案1】:

    我认为主机不是导出为CompositionHost,而是导出为CompositionContext。您还缺少[ImportingConstructor] 属性。

    所以代码看起来像这样:

    [Export(typeof(IClass1))]
    public class Class1 : IClass1
    {
        private readonly CompositionContext _compositionContext;
    
        [ImportingConstructor]
        public Class1(CompositionContext compositionContext)
        {
            _compositionContext = compositionContext;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多