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
| Nome | Valor | Description |
|---|---|---|
| Any | 0 | Especifica que ele usará o CompositionContainer mais apropriado CreationPolicy para a parte, considerando o contexto atual. Esse é o padrão CreationPolicy. Por padrão, CompositionContainer será usado Shared, a menos que o ComposablePart importador solicite NonShared. |
| Shared | 1 | Especifica que uma única instância compartilhada do associado ComposablePart será criada e compartilhada por CompositionContainer todos os solicitantes. |
| NonShared | 2 | Especifica que uma nova instância não compartilhada do associado ComposablePart será criada pelo CompositionContainer solicitante. |
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 única 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 é fornecida 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 RequiredCreationPolicyImportAttribute. 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 | CreationPolicy A exportação especifica Qualquer ou nenhuma especificada. | Especificações compartilhadas da CreationPolicy exportação | CreationPolicy Exportação especifica NonShared |
|---|---|---|---|
| Qualquer | Uma única instância compartilhada do objeto exportado será criada. | Uma única instância compartilhada do objeto exportado será criada. | Uma nova instância do objeto exportado será criada para cada importador. |
| Compartilhado | Uma única instância compartilhada do objeto exportado será criada. | Uma única instância 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. |