CreationPolicy Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt den Zeitpunkt und die Art der Instanziierung eines Teils an.
public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy =
Public Enum CreationPolicy
- Vererbung
Felder
Any | 0 | Gibt an, dass der CompositionContainer die am besten passende CreationPolicy für das Part im angegebenen aktuellen Kontext verwendet. Dies ist die standardmäßige CreationPolicy. Standardmäßig verwendet CompositionContainerShared, außer wenn das ComposablePart oder der Importer NonShared anfordert. |
NonShared | 2 | Gibt an, dass eine neue nicht freigegebene Instanz des zugeordneten ComposablePart vom CompositionContainer für jeden Anfordernden erstellt wird. |
Shared | 1 | Gibt an, dass eine einzelne freigegebene Instanz des zugeordneten ComposablePart vom CompositionContainer erstellt und von allen Anfordernden gemeinsam genutzt wird. |
Hinweise
Im Laufe der Komposition benötigt Instanzen CompositionContainer der von Exporten beschriebenen Objekte, um Importe zu füllen. Wenn ein export verwendet wird, um mehrere Importe zu füllen, gibt es zwei mögliche Verhaltensweisen. Entweder wird eine einzelne instance des exportierten Objekts erstellt, und jeder Importeur erhält einen Verweis auf dasselbe Objekt, oder für jeden Importeur wird eine separate instance des exportierten Objekts erstellt.
Welches Verhalten auftritt, hängt von der CreationPolicy -Eigenschaft des PartCreationPolicyAttribute an den Export angefügten und der RequiredCreationPolicy von ab ImportAttribute. Beide enthalten einen Wert aus der CreationPolicy -Enumeration. Wenn die Richtlinien nicht kompatibel sind, wird dieser Export nicht als Übereinstimmung für den angegebenen Import betrachtet. In der folgenden Tabelle wird die Interaktion dieser beiden Eigenschaften zusammengefasst.
RequiredCreationPolicy | Export gibt "Any" CreationPolicy oder "None" an. | Export gibt CreationPolicy Shared an. | Export gibt CreationPolicy nicht freigegeben an. |
---|---|---|---|
Any | Es wird eine einzelne freigegebene instance des exportierten Objekts erstellt. | Es wird eine einzelne freigegebene instance des exportierten Objekts erstellt. | Für jeden Importeur wird eine neue instance des exportierten Objekts erstellt. |
Shared | Es wird eine einzelne freigegebene instance des exportierten Objekts erstellt. | Es wird eine einzelne freigegebene instance des exportierten Objekts erstellt. | Der Export wird nicht als Übereinstimmung für den Import betrachtet. |
Nicht freigegeben | Für jeden Importeur wird eine neue instance des exportierten Objekts erstellt. | Der Export wird nicht als Übereinstimmung für den Import betrachtet. | Für jeden Importeur wird eine neue instance des exportierten Objekts erstellt. |