c# - 什么是 [PartCreationPolicy(CreationPolicy.Shared)]

标签 c# mef

[PartCreationPolicy(CreationPolicy.Shared)] 是什么意思?

最佳答案

这意味着,当请求用 [PartCreationPolicy(CreationPolicy.Shared)] 修饰的类的实例时,CompositionContainer将始终返回此类的相同实例,而不创建新实例。

[Export]
[PartCreationPolicy(CreationPolicy.Shared)]
class Foo
{

}

上面的类会给出如下结果:

private void Test()
{
  var foo1 = Container.GetExportedValue<Foo>();
  var foo2 = Container.GetExportedValue<Foo>();
  Console.WriteLine(foo1 == foo2); // => True
}

关于c# - 什么是 [PartCreationPolicy(CreationPolicy.Shared)],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12557039/

相关文章:

c# - 在C#中使用weka : Unable to cast object of type 'java.util.ArrayList' to type 'System.Collections.Generic.List`

mvvm - 如何使用 PRISM 和 MEF 将 View 注入(inject) UI?

c# - MEF循环依赖

c# - VS 2010 鼠标处理器扩展 - 不工作

c# - MvcSiteMapProvider : How to load extra web. 站点地图文件来自 MVC 4 中启用 MEF 的模块

c# - 部署使用 Entity Framework 的应用程序并在客户端计算机上创建数据库

c# - 如何将具有不同名称的xml节点反序列化为列表

wpf - ViewModel 未在 View 注入(inject)时初始化(WPF PRISM 4 MVVM)

c# - 对 NDepend 图中的命名空间进行分组

c# - 为什么我的方法声明会产生不一致的可访问性错误?