Udostępnij za pośrednictwem


CreationPolicy Wyliczenie

Definicja

Określa, kiedy i jak zostanie utworzone wystąpienie części.

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

Pola

Any 0

Określa, że CompositionContainer będzie używać najbardziej odpowiedniego CreationPolicy dla części podanej bieżącego kontekstu. Jest to wartość domyślna CreationPolicy. Domyślnie użyje Sharedparametru , CompositionContainer chyba że żądania importera ComposablePartNonSharedlub .

NonShared 2

Określa, że dla każdego obiektu żądającego zostanie utworzone CompositionContainer nowe wystąpienie nieudzielone skojarzonego ComposablePart wystąpienia.

Shared 1

Określa, że pojedyncze udostępnione wystąpienie skojarzonego ComposablePart zostanie utworzone przez CompositionContainer element i udostępnione przez wszystkich żądających.

Uwagi

W trakcie kompozycji CompositionContainer potrzebne są wystąpienia obiektów opisanych przez eksporty w celu wypełnienia importu. Jeśli jeden eksport jest używany do wypełniania wielu importów, istnieją dwa możliwe zachowania. Zostanie utworzone pojedyncze wystąpienie wyeksportowanego obiektu, a odwołanie do tego samego obiektu zostanie przekazane każdemu importerowi lub zostanie utworzone oddzielne wystąpienie wyeksportowanego obiektu dla każdego importera.

To zachowanie zależy od CreationPolicy właściwości dołączonej PartCreationPolicyAttribute do eksportu i RequiredCreationPolicy elementu ImportAttribute. Oba te elementy będą zawierać wartość z wyliczenia CreationPolicy . Jeśli zasady są niezgodne, eksport nie zostanie uznany za zgodny z danym importem. Poniższa tabela zawiera podsumowanie interakcji tych dwóch właściwości.

RequiredCreationPolicy CreationPolicy Eksport określa dowolny lub żaden określony. CreationPolicy Eksportowanie określa współużytkowany Wyeksportuj CreationPolicy określa wartość Nieudostępniętą
Dowolne Zostanie utworzone pojedyncze, udostępnione wystąpienie wyeksportowanego obiektu. Zostanie utworzone pojedyncze, udostępnione wystąpienie wyeksportowanego obiektu. Dla każdego importera zostanie utworzone nowe wystąpienie wyeksportowanego obiektu.
Udostępniona Zostanie utworzone pojedyncze, udostępnione wystąpienie wyeksportowanego obiektu. Zostanie utworzone pojedyncze, udostępnione wystąpienie wyeksportowanego obiektu. Eksport nie zostanie uznany za zgodny z importem.
Nieudostępnionym Dla każdego importera zostanie utworzone nowe wystąpienie wyeksportowanego obiektu. Eksport nie zostanie uznany za zgodny z importem. Dla każdego importera zostanie utworzone nowe wystąpienie wyeksportowanego obiektu.

Dotyczy