CreationPolicy Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger när och hur en del ska instansieras.
public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy =
Public Enum CreationPolicy
- Arv
Fält
| Name | Värde | Description |
|---|---|---|
| Any | 0 | Anger att kommer att CompositionContainer använda den lämpligaste CreationPolicy för delen med tanke på den aktuella kontexten. Detta är standardvärdet CreationPolicy. Som standard CompositionContainer använder , Sharedsåvida inte ComposablePart importören begär NonShared. |
| Shared | 1 | Anger att en enda delad instans av den associerade ComposablePart kommer att skapas av CompositionContainer och delas av alla begäranden. |
| NonShared | 2 | Anger att en ny icke-delad instans av den associerade ComposablePart kommer att skapas av CompositionContainer för varje begärande. |
Kommentarer
Under sammansättningen CompositionContainer behöver instanserna av de objekt som beskrivs av exporten för att fylla importen. Om en export används för att fylla flera importer finns det två möjliga beteenden. Antingen skapas en enskild instans av det exporterade objektet och en referens till samma objekt ges till varje importör, eller så skapas en separat instans av det exporterade objektet för varje importör.
Vilket beteende som inträffar beror på CreationPolicy egenskapen för den PartCreationPolicyAttribute som är kopplad till exporten och RequiredCreationPolicy för ImportAttribute. Båda innehåller ett värde från CreationPolicy uppräkningen. Om principerna är inkompatibla betraktas inte exporten som en matchning för den angivna importen. I följande tabell sammanfattas interaktionen mellan dessa två egenskaper.
| RequiredCreationPolicy | Export anger CreationPolicy Alla eller inga angivna. | CreationPolicy Export anger delad | Export anger CreationPolicy icke-delad |
|---|---|---|---|
| Vilket som helst | En enda delad instans av det exporterade objektet skapas. | En enda delad instans av det exporterade objektet skapas. | En ny instans av det exporterade objektet skapas för varje importör. |
| Delad | En enda delad instans av det exporterade objektet skapas. | En enda delad instans av det exporterade objektet skapas. | Exporten betraktas inte som en matchning för importen. |
| Ej delad | En ny instans av det exporterade objektet skapas för varje importör. | Exporten betraktas inte som en matchning för importen. | En ny instans av det exporterade objektet skapas för varje importör. |