CreationPolicy Enumerazione

Definizione

Specifica il momento e la modalità in cui verrà creata un'istanza di una parte.

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

Campi

Any 0

Specifica che CompositionContainer utilizzerà l'oggetto CreationPolicy più adatto per la parte a seconda del contesto corrente. Questo è l'oggetto CreationPolicy predefinito. Per impostazione predefinita, CompositionContainer utilizzerà Shared, a meno che ComposablePart o l'utilità di importazione non richieda NonShared.

NonShared 2

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

Shared 1

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

Commenti

Nel corso della composizione, le CompositionContainer esigenze degli oggetti descritti dalle esportazioni per riempire le importazioni. Se un'esportazione viene usata 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 importazione o a un'istanza separata dell'oggetto esportato.

Il comportamento si verifica dipende dalla CreationPolicy proprietà dell'oggetto PartCreationPolicyAttribute collegato all'esportazione e dall'oggetto RequiredCreationPolicyImportAttribute. Entrambe le quali conterrà un valore dall'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'esportazione CreationPolicy specifica Qualsiasi o nessuna specificata. Specifica l'esportazione CreationPolicy condivisa L'esportazione CreationPolicy specifica NonShared
Qualsiasi 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 importazione.
Condiviso 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 importazione. L'esportazione non verrà considerata una corrispondenza per l'importazione. Verrà creata una nuova istanza dell'oggetto esportato per ogni importazione.

Si applica a