Compartir por


CreationPolicy Enumeración

Definición

Especifica cuándo y cómo se creará una instancia de un elemento.

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

Campos

Nombre Valor Description
Any 0

Especifica que usará CompositionContainer el más adecuado CreationPolicy para la parte dada el contexto actual. Este es el valor predeterminado CreationPolicy. De forma predeterminada, CompositionContainer usará Shared, a menos que el ComposablePart importador o solicite NonShared.

Shared 1

Especifica que todos los solicitantes crearán CompositionContainer y compartirán una sola instancia compartida del asociadoComposablePart.

NonShared 2

Especifica que cada solicitante creará CompositionContainer una nueva instancia no compartida del asociadoComposablePart.

Comentarios

En el transcurso de la composición, CompositionContainer necesita instancias de los objetos descritos por las exportaciones para rellenar las importaciones. Si se usa una exportación para rellenar varias importaciones, hay dos comportamientos posibles. Se crea una única instancia del objeto exportado y se asigna una referencia al mismo objeto a cada importador o se crea una instancia independiente del objeto exportado para cada importador.

El comportamiento que se produce depende de la propiedad del PartCreationPolicyAttribute asociado a la exportación y de RequiredCreationPolicy .ImportAttributeCreationPolicy Ambos contendrán un valor de la CreationPolicy enumeración. Si las directivas no son compatibles, esa exportación no se considerará una coincidencia para la importación especificada. En la tabla siguiente se resume la interacción de estas dos propiedades.

RequiredCreationPolicy CreationPolicy Export especifica Cualquiera o ninguno especificado. CreationPolicy Export especifica Shared CreationPolicy Export especifica NonShared
Cualquiera Se creará una única instancia compartida del objeto exportado. Se creará una única instancia compartida del objeto exportado. Se creará una nueva instancia del objeto exportado para cada importador.
compartido Se creará una única instancia compartida del objeto exportado. Se creará una única instancia compartida del objeto exportado. La exportación no se considerará una coincidencia para la importación.
NonShared Se creará una nueva instancia del objeto exportado para cada importador. La exportación no se considerará una coincidencia para la importación. Se creará una nueva instancia del objeto exportado para cada importador.

Se aplica a