CreationPolicy Enumeración

Definición

Especifica cuándo y cómo se va a inicializar un elemento.Specifies when and how a part will be instantiated.

public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy = 
Public Enum CreationPolicy
Herencia
CreationPolicy

Campos

Any 0

Especifica que CompositionContainer usará la CreationPolicy más adecuada para el elemento según el contexto actual.Specifies that the CompositionContainer will use the most appropriate CreationPolicy for the part given the current context. Es la CreationPolicy predeterminada.This is the default CreationPolicy. De forma predeterminada, CompositionContainer usará Shared, a menos que ComposablePart o el importador solicite NonShared.By default, CompositionContainer will use Shared, unless the ComposablePart or importer requests NonShared.

NewScope 3
NonShared 2

Especifica que ComposablePart creará una nueva instancia no compartida del CompositionContainer asociado para cada solicitante.Specifies that a new non-shared instance of the associated ComposablePart will be created by the CompositionContainer for every requestor.

Shared 1

Especifica que una única instancia compartida del ComposablePart asociado será creada por CompositionContainer y compartida por todos los solicitantes.Specifies that a single shared instance of the associated ComposablePart will be created by the CompositionContainer and shared by all requestors.

Comentarios

En el transcurso de la composición CompositionContainer , el necesita instancias de los objetos descritos por las exportaciones para completar las importaciones.In the course of composition, the CompositionContainer needs instances of the objects described by exports in order to fill imports. Si se usa una exportación para rellenar varias importaciones, hay dos posibles comportamientos.If a one export is used to fill multiple imports, there are two possible behaviors. Se crea una única instancia del objeto exportado, y se proporciona una referencia al mismo objeto a cada importador, o se crea una instancia independiente del objeto exportado para cada importador.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.

El comportamiento que se produce depende CreationPolicy de la propiedad PartCreationPolicyAttribute del asociado RequiredCreationPolicy a la ImportAttributeexportación y de.Which behavior occurs depends on the CreationPolicy property of the PartCreationPolicyAttribute attached to the export and the RequiredCreationPolicy of the ImportAttribute. Ambos contendrán un valor de la CreationPolicy enumeración.Both of which will contain a value from the CreationPolicy enumeration. Si las directivas no son compatibles, esa exportación no se considerará una coincidencia para la importación determinada.If the policies are incompatible, that export will not be considered a match for the given import. En la tabla siguiente se resume la interacción de estas dos propiedades.The following table summarizes the interaction of these two properties.

RequiredCreationPolicy La CreationPolicy exportación especifica any o None especificado.Export's CreationPolicy specifies Any or none specified. La CreationPolicy exportación especifica SharedExport's CreationPolicy specifies Shared La CreationPolicy exportación especifica NonsharedExport's CreationPolicy specifies NonShared
CualquieraAny Se creará una única instancia compartida del objeto exportado.A single, shared instance of the exported object will be created. Se creará una única instancia compartida del objeto exportado.A single, shared instance of the exported object will be created. Se creará una nueva instancia del objeto exportado para cada importador.A new instance of the exported object will be created for each importer.
SharedShared Se creará una única instancia compartida del objeto exportado.A single, shared instance of the exported object will be created. Se creará una única instancia compartida del objeto exportado.A single, shared instance of the exported object will be created. La exportación no se considerará una coincidencia para la importación.The export will not be considered a match for the import.
NonSharedNonShared Se creará una nueva instancia del objeto exportado para cada importador.A new instance of the exported object will be created for each importer. La exportación no se considerará una coincidencia para la importación.The export will not be considered a match for the import. Se creará una nueva instancia del objeto exportado para cada importador.A new instance of the exported object will be created for each importer.

Se aplica a