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

问题描述 投票:0回答:1

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

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

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

c# mef
1个回答
0
投票

看看MEF的ExportFactory

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

[Import]
public ExportFactory<IMultiplayerService> MultiplayerServiceFactory { get; set; }
var instance1 = MultiplayerServiceFactory.CreateExport().Value
var instance2 = MultiplayerServiceFactory.CreateExport().Value
© www.soinside.com 2019 - 2024. All rights reserved.