[英]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.