CreationPolicy Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, kdy a jak se vytvoří instance části.
public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy =
Public Enum CreationPolicy
- Dědičnost
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. |