CreationPolicy Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie quand et comment une partie sera instanciée.
public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy =
Public Enum CreationPolicy
- Héritage
Champs
| Nom | Valeur | Description |
|---|---|---|
| Any | 0 | Spécifie que l’utilisation CompositionContainer sera la plus appropriée CreationPolicy pour la partie en fonction du contexte actuel. Il s’agit de la valeur par défaut CreationPolicy. Par défaut, CompositionContainer utilise Shared, sauf si le ou l’importateur ComposablePart demande NonShared. |
| Shared | 1 | Spécifie qu’une seule instance partagée de l’associé ComposablePart sera créée par l’instance CompositionContainer et partagée par tous les demandeurs. |
| NonShared | 2 | Spécifie qu’une nouvelle instance non partagée de l’associé ComposablePart sera créée par le CompositionContainer demandeur pour chaque demandeur. |
Remarques
Au cours de la composition, les CompositionContainer instances des objets décrits par les exportations sont nécessaires pour remplir les importations. Si une exportation est utilisée pour remplir plusieurs importations, il existe deux comportements possibles. Une instance unique de l’objet exporté est créée et une référence au même objet est donnée à chaque importateur, ou une instance distincte de l’objet exporté est créée pour chaque importateur.
Le comportement qui se produit dépend de la CreationPolicy propriété de l’objet PartCreationPolicyAttribute attaché à l’exportation et de l’objet RequiredCreationPolicyImportAttribute. Ces deux éléments contiennent une valeur de l’énumération CreationPolicy . Si les stratégies sont incompatibles, cette exportation ne sera pas considérée comme une correspondance pour l’importation donnée. Le tableau suivant récapitule l’interaction de ces deux propriétés.
| RequiredCreationPolicy | CreationPolicy Export spécifie Any ou none spécifié. | L’exportation CreationPolicy spécifie Shared | CreationPolicy Export spécifie NonShared |
|---|---|---|---|
| N'importe lequel | Une instance partagée unique de l’objet exporté est créée. | Une instance partagée unique de l’objet exporté est créée. | Une nouvelle instance de l’objet exporté sera créée pour chaque importateur. |
| Partagé | Une instance partagée unique de l’objet exporté est créée. | Une instance partagée unique de l’objet exporté est créée. | L’exportation ne sera pas considérée comme une correspondance pour l’importation. |
| Non partagé | Une nouvelle instance de l’objet exporté sera créée pour chaque importateur. | L’exportation ne sera pas considérée comme une correspondance pour l’importation. | Une nouvelle instance de l’objet exporté sera créée pour chaque importateur. |