CreationPolicy Wyliczenie

Definicja

Określa, kiedy i w jaki sposób zostanie utworzyć wystąpienia części.

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

Pola

Any 0

Określa, CompositionContainer że użyje najbardziej odpowiednie CreationPolicy dla części danego bieżącego kontekstu. Jest to wartość domyślna CreationPolicy . Domyślnie program CompositionContainer używa wartości , chyba że importer lub zażąda Shared ComposablePart . NonShared

NewScope 3
NonShared 2

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

Shared 1

Określa, że jedno udostępnione wystąpienie skojarzonego obiektu zostanie utworzone przez i ComposablePart CompositionContainer udostępnione wszystkim żądających.

Uwagi

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

To, które zachowanie CreationPolicy występuje, zależy od właściwości obiektu PartCreationPolicyAttribute dołączonego do eksportu i RequiredCreationPolicy właściwości ImportAttribute . Oba będą zawierać wartość z CreationPolicy wyliczenia. Jeśli zasady są niezgodne, ten eksport nie będzie traktowany jako dopasowanie dla danego importu. W poniższej tabeli podsumowano interakcję tych dwóch właściwości.

RequiredCreationPolicy Eksportuj określa CreationPolicy dowolny lub nie określono. Eksport określa CreationPolicy udostępnione Eksport określa CreationPolicy NonShared
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 będzie traktowany jako dopasowanie dla importu.
Nieudostępnionym Dla każdego importera zostanie utworzone nowe wystąpienie wyeksportowanego obiektu. Eksport nie będzie traktowany jako dopasowanie dla importu. Dla każdego importera zostanie utworzone nowe wystąpienie wyeksportowanego obiektu.

Dotyczy