CreationPolicy Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica quando e como uma parte será instanciada.
public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy =
Public Enum CreationPolicy
- Herança
Campos
Any | 0 | Especifica que o CompositionContainer usará o CreationPolicy mais apropriado para a parte, considerando o contexto atual. Esse é o CreationPolicy padrão. Por padrão, CompositionContainer usará Shared, a menos que o ComposablePart ou o importador solicite NonShared. |
NonShared | 2 | Especifica que uma única instância não compartilhada do ComposablePart associado será criada pelo CompositionContainer para cada solicitante. |
Shared | 1 | Especifica que uma única instância compartilhada do ComposablePart associado será criada pelo CompositionContainer e compartilhada por todos os solicitantes. |
Comentários
No curso da composição, as CompositionContainer instâncias de necessidades dos objetos descritos pelas exportações para preencher as importações. Se uma exportação for usada para preencher várias importações, haverá dois comportamentos possíveis. Uma única instância do objeto exportado é criada e uma referência ao mesmo objeto é dada a cada importador ou uma instância separada do objeto exportado é criada para cada importador.
Qual comportamento ocorre depende da CreationPolicy propriedade do PartCreationPolicyAttribute anexado à exportação e do RequiredCreationPolicyImportAttributedo . Ambos conterão um valor da CreationPolicy enumeração . Se as políticas forem incompatíveis, essa exportação não será considerada uma correspondência para a importação fornecida. A tabela a seguir resume a interação dessas duas propriedades.
RequiredCreationPolicy | Export's CreationPolicy especifica Any ou none especificado. | CreationPolicy Exportar especifica Compartilhado | Export's CreationPolicy especifica NonShared |
---|---|---|---|
Qualquer | Uma instância única, compartilhada, do objeto exportado será criada. | Uma instância única, compartilhada, do objeto exportado será criada. | Uma nova instância do objeto exportado será criada para cada importador. |
Compartilhado | Uma instância única, compartilhada, do objeto exportado será criada. | Uma instância única, compartilhada, do objeto exportado será criada. | A exportação não será considerada uma correspondência para a importação. |
Compartilhada | Uma nova instância do objeto exportado será criada para cada importador. | A exportação não será considerada uma correspondência para a importação. | Uma nova instância do objeto exportado será criada para cada importador. |