CreationPolicy CreationPolicy CreationPolicy CreationPolicy Enum

Definition

Gibt den Zeitpunkt und die Art der Instanziierung eines Teils an.Specifies when and how a part will be instantiated.

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

Felder

Any Any Any Any 0

Gibt an, dass der CompositionContainer die am besten passende CreationPolicy für das Part im angegebenen aktuellen Kontext verwendet.Specifies that the CompositionContainer will use the most appropriate CreationPolicy for the part given the current context. Dies ist die standardmäßige CreationPolicy.This is the default CreationPolicy. Standardmäßig verwendet CompositionContainerShared, außer wenn das ComposablePart oder der Importer NonShared anfordert.By default, CompositionContainer will use Shared, unless the ComposablePart or importer requests NonShared.

NewScope NewScope NewScope NewScope 3
NonShared NonShared NonShared NonShared 2

Gibt an, dass eine neue nicht freigegebene Instanz des zugeordneten ComposablePart vom CompositionContainer für jeden Anfordernden erstellt wird.Specifies that a new non-shared instance of the associated ComposablePart will be created by the CompositionContainer for every requestor.

Shared Shared Shared Shared 1

Gibt an, dass eine einzelne freigegebene Instanz des zugeordneten ComposablePart vom CompositionContainer erstellt und von allen Anfordernden gemeinsam genutzt wird.Specifies that a single shared instance of the associated ComposablePart will be created by the CompositionContainer and shared by all requestors.

Hinweise

Im Verlauf der Komposition der CompositionContainer benötigt Instanzen der Objekte von Exporten beschrieben werden, um Importe zu füllen.In the course of composition, the CompositionContainer needs instances of the objects described by exports in order to fill imports. Wenn ein Export verwendet wird, um mehrere Importe zu füllen, gibt es zwei mögliche Verhaltensweisen.If a one export is used to fill multiple imports, there are two possible behaviors. Entweder eine einzelne Instanz des exportierten Objekts wird erstellt, und alle Importer ein Verweis auf das gleiche Objekt erteilt oder für jeden Importer eine separate Instanz des exportierten Objekts erstellt.Either a single instance of the exported object is created, and a reference to the same object is given to every importer, or a separate instance of the exported object is created for each importer.

Welches Verhalten erfolgt, hängt von der CreationPolicy Eigenschaft der PartCreationPolicyAttribute mit dem Export angefügt und die RequiredCreationPolicy von der ImportAttribute.Which behavior occurs depends on the CreationPolicy property of the PartCreationPolicyAttribute attached to the export and the RequiredCreationPolicy of the ImportAttribute. Beide enthalten einen Wert aus der CreationPolicy Enumeration.Both of which will contain a value from the CreationPolicy enumeration. Wenn die Richtlinien inkompatibel sind, wird der Export keine Übereinstimmung für den angegebenen Import berücksichtigt werden.If the policies are incompatible, that export will not be considered a match for the given import. Die folgende Tabelle enthält die Interaktion dieser beiden Eigenschaften.The following table summarizes the interaction of these two properties.

RequiredCreationPolicy Der Export CreationPolicy gibt alle oder keine Angabe.Export's CreationPolicy specifies Any or none specified. Der Export CreationPolicy gibt freigegebenExport's CreationPolicy specifies Shared Der Export CreationPolicy NonShared angibtExport's CreationPolicy specifies NonShared
BeliebigAny Eine einzelne, freigegebene Instanz des exportierten Objekts wird erstellt.A single, shared instance of the exported object will be created. Eine einzelne, freigegebene Instanz des exportierten Objekts wird erstellt.A single, shared instance of the exported object will be created. Eine neue Instanz des exportierten Objekts wird für jeden Importer erstellt werden.A new instance of the exported object will be created for each importer.
SharedShared Eine einzelne, freigegebene Instanz des exportierten Objekts wird erstellt.A single, shared instance of the exported object will be created. Eine einzelne, freigegebene Instanz des exportierten Objekts wird erstellt.A single, shared instance of the exported object will be created. Der Export wird eine Übereinstimmung für den Import nicht berücksichtigt.The export will not be considered a match for the import.
NonSharedNonShared Eine neue Instanz des exportierten Objekts wird für jeden Importer erstellt werden.A new instance of the exported object will be created for each importer. Der Export wird eine Übereinstimmung für den Import nicht berücksichtigt.The export will not be considered a match for the import. Eine neue Instanz des exportierten Objekts wird für jeden Importer erstellt werden.A new instance of the exported object will be created for each importer.

Gilt für: