MEF 在模块之间共享实例

本文关键字:共享 实例 之间 模块 MEF | 更新日期: 2023-09-27 18:34:08

我正在为我的C#应用程序使用PRISM/MEF。我想做以下事情,我真的很陌生 PRISM,也许我做错了什么或做错了什么,但它不起作用,如下所示。

创建了两个模块,在模块 1 中我创建了一个类的实例。我想与其他模块 2 共享此实例。

像这样:

模块 1(视图模型):

[Export("ME")]
private Person me = new Person();
//within some function...
me.Name = "Jasmin";

模块 2(视图模型):

[Import("ME")]
private Lazy<Person> me;
//within some function
Console.Writeline(me.Name); //here I want to get "Jasmin"

共享模型类:

public class Details
{
   public string Name;
}
public class Person
{
   public Name first = new Name();
}

MEF 在模块之间共享实例

它的工作原理与我的问题所示完全相同。我只需要重建整个解决方案。

稍后访问对象,而不是:

Console.Writeline(me.Name); //here I want to get "Jasmin"

必须使用:

Console.Writeline(me.Value.Name); //here I want to get "Jasmin"

感谢您的帮助。