CreationPolicy Enumeration

Definition

Gibt den Zeitpunkt und die Art der Instanziierung eines Teils an.

public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy = 
Public Enum CreationPolicy
Vererbung
CreationPolicy

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 die CompositionContainer Instanzen der von Exporten beschriebenen Objekte, um Importe zu füllen. Wenn ein Export zum Ausfüllen mehrerer Importe verwendet wird, gibt es zwei mögliche Verhaltensweisen. Entweder wird eine einzelne Instanz des exportierten Objekts erstellt, und jedem Importeur wird ein Verweis auf dasselbe Objekt zugewiesen, oder für jeden Importeur wird eine separate Instanz des exportierten Objekts erstellt.

Welches Verhalten auftritt, hängt von der CreationPolicy Eigenschaft des PartCreationPolicyAttribute an den Export angefügten und der RequiredCreationPolicy des ImportAttributeab. 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 CreationPolicy "Any" oder "None" an. Export gibt CreationPolicy Shared an. Export gibt CreationPolicy nicht freigegeben an.
Any Es wird eine einzelne freigegebene Instanz des exportierten Objekts erstellt. Es wird eine einzelne freigegebene Instanz des exportierten Objekts erstellt. Für jeden Importeur wird eine neue Instanz des exportierten Objekts erstellt.
Shared Es wird eine einzelne freigegebene Instanz des exportierten Objekts erstellt. Es wird eine einzelne freigegebene Instanz des exportierten Objekts erstellt. Der Export wird nicht als Übereinstimmung für den Import betrachtet.
Nicht freigegeben Für jeden Importeur wird eine neue Instanz des exportierten Objekts erstellt. Der Export wird nicht als Übereinstimmung für den Import betrachtet. Für jeden Importeur wird eine neue Instanz des exportierten Objekts erstellt.

Gilt für: