gpt4 book ai didi

c# - 使用 MEF 导入多个实例

转载 作者:太空狗 更新时间:2023-10-29 20:05:40 25 4
gpt4 key购买 nike

我正在像这样导出一些实现 IFoo 接口(interface)的类

public interface IFoo { }

[Export("A", typeof(IFoo))]
public class Foo1 : IFoo { }

[Export("B", typeof(IFoo))]
public class Foo2 : IFoo { }

当我尝试使用

导入其中之一时
 containter.GetExportedValue<IFoo>("A"); 

它运行良好,但是当我尝试像这样导入它们时

[ImportMany]
IFoo[] foos;

它不起作用。

谁能告诉我如何解决这个问题?

最佳答案

为了双向使用,声明 2 个导出:

public interface IFoo { }

[Export(typeof(IFoo))]
[Export("A", typeof(IFoo))]
public class Foo1 : IFoo { }

[Export(typeof(IFoo))]
[Export("B", typeof(IFoo))]
public class Foo2 : IFoo { }

然后它应该可以工作(我做了一个测试样本并让它工作)。

HTH,

宝贝。

关于c# - 使用 MEF 导入多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9638299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com