Sdílet prostřednictvím


CreationPolicy Výčet

Definice

Určuje, kdy a jak se vytvoří instance části.

public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy = 
Public Enum CreationPolicy
Dědičnost
CreationPolicy

Pole

Name Hodnota Description
Any 0

Určuje, že CompositionContainer se použije nejvhodnější CreationPolicy pro část vzhledem k aktuálnímu kontextu. Toto je výchozí CreationPolicyhodnota . Ve výchozím nastavení se použije Shared, CompositionContainer pokud ComposablePart žádost nebo dovozce NonShared.

Shared 1

Určuje, že jedna sdílená instance přidružené ComposablePart instance bude vytvořena CompositionContainer a sdílena všemi žadateli.

NonShared 2

Určuje, že pro každého žadatele bude vytvořena CompositionContainer nová nesdílená instance přidružené ComposablePart instance.

Poznámky

V průběhu složení potřebuje instance objektů popsaných CompositionContainer exportem, aby bylo možné vyplnit importy. Pokud se k vyplnění více importů používá jeden export, existují dvě možná chování. Vytvoří se jedna instance exportovaného objektu a každému importu se předá odkaz na stejný objekt, nebo se pro každého dovozce vytvoří samostatná instance exportovaného objektu.

K jakému chování dochází, závisí na CreationPolicy vlastnosti PartCreationPolicyAttribute připojené k exportu a objektu RequiredCreationPolicyImportAttribute. Obě z nich budou obsahovat hodnotu z výčtu CreationPolicy . Pokud jsou zásady nekompatibilní, nebude se tento export považovat za shodu pro daný import. Následující tabulka shrnuje interakci těchto dvou vlastností.

RequiredCreationPolicy CreationPolicy Export určuje libovolný nebo žádný zadaný. CreationPolicy Export určuje sdílené CreationPolicy Export určuje Nesdílené
Jakýkoliv Vytvoří se jedna sdílená instance exportovaného objektu. Vytvoří se jedna sdílená instance exportovaného objektu. Pro každého dovozce se vytvoří nová instance exportovaného objektu.
Shared Vytvoří se jedna sdílená instance exportovaného objektu. Vytvoří se jedna sdílená instance exportovaného objektu. Export se nepovažuje za shodu pro import.
Nesdílené Pro každého dovozce se vytvoří nová instance exportovaného objektu. Export se nepovažuje za shodu pro import. Pro každého dovozce se vytvoří nová instance exportovaného objektu.

Platí pro