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 va a inicializar un elemento.
public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy =
Public Enum CreationPolicy
- Herencia
Campos
Any | 0 | Especifica que CompositionContainer usará la CreationPolicy más adecuada para el elemento según el contexto actual. Es la CreationPolicy predeterminada. De forma predeterminada, CompositionContainer usará Shared, a menos que ComposablePart o el importador solicite NonShared. |
NonShared | 2 | Especifica que ComposablePart creará una nueva instancia no compartida del CompositionContainer asociado para cada solicitante. |
Shared | 1 | Especifica que una única instancia compartida del ComposablePart asociado será creada por CompositionContainer y compartida por todos los solicitantes. |
Comentarios
En el transcurso de la composición, necesita CompositionContainer 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 CreationPolicy propiedad de adjunta PartCreationPolicyAttribute a la exportación y de RequiredCreationPolicy .ImportAttribute 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 Any o none specified. | Export's CreationPolicy especifica Shared | CreationPolicy Export especifica NonShared |
---|---|---|---|
Any | 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. |
No compartido | 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. |