CreationPolicy Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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. |