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 dílu.
public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy =
Public Enum CreationPolicy
- Dědičnost
Pole
Any | 0 | Určuje, že bude CompositionContainer používat nejvhodnější CreationPolicy část pro aktuální kontext. Toto je výchozí CreationPolicy. Ve výchozím nastavení CompositionContainer použije , Sharedpokud ComposablePart dovozce nebo nežádá NonShared. |
NonShared | 2 | Určuje, že pro každého žadatele vytvoří novou nesdílenou instanci přidruženého ComposablePart objektu CompositionContainer . |
Shared | 1 | Určuje, že jedna sdílená instance přidruženého ComposablePart bude vytvořena objektem CompositionContainer a sdílena všemi žadateli. |
Poznámky
V průběhu složení CompositionContainer potřebuje instance objektů popsaných exporty, aby bylo možné vyplnit importy. Pokud se jeden export použije k vyplnění více importů, existují dvě možné chování. Buď se vytvoří jedna instance exportovaného objektu a každému dovozci se přidělí odkaz na stejný objekt, nebo se pro každého dovozce vytvoří samostatná instance exportovaného objektu.
K jakému CreationPolicy chování dojde, závisí na vlastnosti PartCreationPolicyAttribute připojené k exportu a RequiredCreationPolicyImportAttributevlastnosti . Oba budou obsahovat hodnotu z výčtu CreationPolicy . Pokud jsou zásady nekompatibilní, nebude tento export pro daný import považován za shodu. Následující tabulka shrnuje interakci těchto dvou vlastností.
RequiredCreationPolicy | U možnosti Export je CreationPolicy zadáno jakékoli nebo žádné. | Možnosti exportu CreationPolicy určují sdílené. | Export určuje nesdílené CreationPolicy |
---|---|---|---|
Všechny | 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 nebude považován za shodu pro import. |
Nesdílené | Pro každého dovozce se vytvoří nová instance exportovaného objektu. | Export nebude považován za shodu pro import. | Pro každého dovozce se vytvoří nová instance exportovaného objektu. |