繁体   English   中英

是否可以让 MEF 多次实例化一个类?

[英]Is it possible to have MEF instantiate a class multiple times?

因此,假设我有一个接口IMultiplayerService和几个实现它的类,例如Pbw3类。 现在Pbw3代表一个特定的服务器应用程序,但该服务器可能有多个实例 - 我运行的一个,朋友运行的一个,等等。

有没有办法让 MEF 多次实例化Pbw3 还是仅限于每个导入类的一个实例?

我在想一种解决方法可能是为每个多人服务器类创建一个工厂类,然后让 MEF 创建它们,但我希望有一种更简单的方法......

看看 MEF 的ExportFactory

您可以导入ExportFactory<IMultiplayerService> ,然后根据需要创建新实例:

[Import]
public ExportFactory<IMultiplayerService> MultiplayerServiceFactory { get; set; }
var instance1 = MultiplayerServiceFactory.CreateExport().Value
var instance2 = MultiplayerServiceFactory.CreateExport().Value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM