Condividi tramite


CreationPolicy Enumerazione

Definizione

Specifica quando e come verrà creata un'istanza di una parte.

public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy = 
Public Enum CreationPolicy
Ereditarietà
CreationPolicy

Campi

Nome Valore Descrizione
Any 0

Specifica che CompositionContainer userà il più appropriato CreationPolicy per la parte in base al contesto corrente. Si tratta dell'oggetto predefinito CreationPolicy. Per impostazione predefinita, CompositionContainer userà Shared, a meno che l'utilità ComposablePart di importazione non richieda NonShared.

Shared 1

Specifica che una singola istanza condivisa dell'oggetto associato ComposablePart verrà creata da CompositionContainer e condivisa da tutti i richiedenti.

NonShared 2

Specifica che una nuova istanza non condivisa dell'oggetto associato ComposablePart verrà creata da CompositionContainer per ogni richiedente.

Commenti

Nel corso della composizione, sono CompositionContainer necessarie istanze degli oggetti descritti dalle esportazioni per riempire le importazioni. Se si usa un'esportazione per riempire più importazioni, esistono due possibili comportamenti. Viene creata una singola istanza dell'oggetto esportato e viene assegnato un riferimento allo stesso oggetto a ogni utilità di importazione oppure viene creata un'istanza separata dell'oggetto esportato per ogni utilità di importazione.

Il comportamento che si verifica dipende dalla CreationPolicy proprietà dell'oggetto PartCreationPolicyAttribute associato all'esportazione e dall'oggetto RequiredCreationPolicyImportAttributedi . Entrambi i valori conterranno un valore dell'enumerazione CreationPolicy . Se i criteri non sono compatibili, tale esportazione non verrà considerata una corrispondenza per l'importazione specificata. La tabella seguente riepiloga l'interazione di queste due proprietà.

RequiredCreationPolicy L'opzione CreationPolicy Export specifica qualsiasi o nessuna specificata. L'esportazione CreationPolicy specifica Shared L'esportazione CreationPolicy specifica NonShared
Qualunque Verrà creata una singola istanza condivisa dell'oggetto esportato. Verrà creata una singola istanza condivisa dell'oggetto esportato. Verrà creata una nuova istanza dell'oggetto esportato per ogni utilità di importazione.
Shared Verrà creata una singola istanza condivisa dell'oggetto esportato. Verrà creata una singola istanza condivisa dell'oggetto esportato. L'esportazione non verrà considerata una corrispondenza per l'importazione.
Non condiviso Verrà creata una nuova istanza dell'oggetto esportato per ogni utilità di importazione. L'esportazione non verrà considerata una corrispondenza per l'importazione. Verrà creata una nuova istanza dell'oggetto esportato per ogni utilità di importazione.

Si applica a