10

[PartCreationPolicy(CreationPolicy.Shared)]とはどういう意味ですか?

4

2 に答える 2

19

つまり、で装飾されたクラスのインスタンスをリクエストすると[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
}
于 2012-09-24T11:11:22.850 に答える
6

ジュリアンの答えに加えて、概念的にはシングルトンと考えることができると思います。

于 2012-09-28T19:35:35.100 に答える