CreationPolicy CreationPolicy CreationPolicy CreationPolicy Enum

Definizione

Specifica il momento e la modalità in cui verrà creata un'istanza di una parte.Specifies when and how a part will be instantiated.

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

Campi

Any Any Any Any 0

Specifica che CompositionContainer utilizzerà l'oggetto CreationPolicy più adatto per la parte a seconda del contesto corrente.Specifies that the CompositionContainer will use the most appropriate CreationPolicy for the part given the current context. Questo è l'oggetto CreationPolicy predefinito.This is the default CreationPolicy. Per impostazione predefinita, CompositionContainer utilizzerà Shared, a meno che ComposablePart o l'utilità di importazione non richieda NonShared.By default, CompositionContainer will use Shared, unless the ComposablePart or importer requests NonShared.

NewScope NewScope NewScope NewScope 3
NonShared NonShared NonShared NonShared 2

Specifica che una nuova istanza non condivisa dell'oggetto ComposablePart associato sarà creata da CompositionContainer per ogni richiedente.Specifies that a new non-shared instance of the associated ComposablePart will be created by the CompositionContainer for every requestor.

Shared Shared Shared Shared 1

Specifica che una singola istanza condivisa dell'oggetto ComposablePart associato sarà creata da CompositionContainer e condivisa da tutti i richiedenti.Specifies that a single shared instance of the associated ComposablePart will be created by the CompositionContainer and shared by all requestors.

Commenti

Nel corso della composizione, il CompositionContainer richiede istanze degli oggetti descritti dalle esportazioni per riempire le importazioni.In the course of composition, the CompositionContainer needs instances of the objects described by exports in order to fill imports. Se viene usata una sola esportazione per riempire più importazioni, esistono due comportamenti possibili.If a one export is used to fill multiple imports, there are two possible behaviors. 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.Either a single instance of the exported object is created, and a reference to the same object is given to every importer, or a separate instance of the exported object is created for each importer.

Il comportamento che si verifica CreationPolicy dipende dalla proprietà dell'oggetto PartCreationPolicyAttribute collegato all' ImportAttributeesportazione e dalla RequiredCreationPolicy proprietà dell'oggetto.Which behavior occurs depends on the CreationPolicy property of the PartCreationPolicyAttribute attached to the export and the RequiredCreationPolicy of the ImportAttribute. Che conterrà un valore CreationPolicy dell'enumerazione.Both of which will contain a value from the CreationPolicy enumeration. Se i criteri sono incompatibili, l'esportazione non verrà considerata una corrispondenza per l'importazione specificata.If the policies are incompatible, that export will not be considered a match for the given import. Nella tabella seguente viene riepilogata l'interazione di queste due proprietà.The following table summarizes the interaction of these two properties.

RequiredCreationPolicy Export ' CreationPolicy s specifica any o None specificato.Export's CreationPolicy specifies Any or none specified. Export ' CreationPolicy s specifica SharedExport's CreationPolicy specifies Shared Export ' CreationPolicy s specifica non condivisoExport's CreationPolicy specifies NonShared
QualsiasiAny Verrà creata una singola istanza condivisa dell'oggetto esportato.A single, shared instance of the exported object will be created. Verrà creata una singola istanza condivisa dell'oggetto esportato.A single, shared instance of the exported object will be created. Per ogni utilità di importazione verrà creata una nuova istanza dell'oggetto esportato.A new instance of the exported object will be created for each importer.
SharedShared Verrà creata una singola istanza condivisa dell'oggetto esportato.A single, shared instance of the exported object will be created. Verrà creata una singola istanza condivisa dell'oggetto esportato.A single, shared instance of the exported object will be created. L'esportazione non verrà considerata una corrispondenza per l'importazione.The export will not be considered a match for the import.
NonSharedNonShared Per ogni utilità di importazione verrà creata una nuova istanza dell'oggetto esportato.A new instance of the exported object will be created for each importer. L'esportazione non verrà considerata una corrispondenza per l'importazione.The export will not be considered a match for the import. Per ogni utilità di importazione verrà creata una nuova istanza dell'oggetto esportato.A new instance of the exported object will be created for each importer.

Si applica a