C# 有可能让MEF多次实例化一个类吗?

C# 有可能让MEF多次实例化一个类吗?,c#,mef,C#,Mef,假设我有一个接口IMultiplayerService和几个实现它的类,比如Pbw3类。现在Pbw3代表了一个特定的服务器应用程序,但该服务器可能有多个实例——一个是我运行的,一个是朋友运行的,等等 有没有办法让MEF多次实例化Pbw3?或者它仅限于每个导入类的一个实例 我在想一个解决办法可能是为每个多人服务器类创建一个工厂类,并让MEF创建这些,但我希望有一个更简单的方法…看看MEF的 您可以导入ExportFactory,然后根据需要创建新实例: [Import] public Export

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

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

我在想一个解决办法可能是为每个多人服务器类创建一个工厂类,并让MEF创建这些,但我希望有一个更简单的方法…

看看MEF的

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

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