MEF .NET Core 如何导出 CompositionHost?
MEF .NET Core how export CompositionHost?
我有下一个代码:
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;
}
}
如何将此容器导出到自身?
我认为主机不是导出为 CompositionHost
,而是导出为 CompositionContext
。您还缺少 [ImportingConstructor]
属性。
所以代码看起来像这样:
[Export(typeof(IClass1))]
public class Class1 : IClass1
{
private readonly CompositionContext _compositionContext;
[ImportingConstructor]
public Class1(CompositionContext compositionContext)
{
_compositionContext = compositionContext;
}
}
我有下一个代码:
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;
}
}
如何将此容器导出到自身?
我认为主机不是导出为 CompositionHost
,而是导出为 CompositionContext
。您还缺少 [ImportingConstructor]
属性。
所以代码看起来像这样:
[Export(typeof(IClass1))]
public class Class1 : IClass1
{
private readonly CompositionContext _compositionContext;
[ImportingConstructor]
public Class1(CompositionContext compositionContext)
{
_compositionContext = compositionContext;
}
}