다음을 통해 공유


CreationPolicy 열거형

정의

파트를 인스턴스화하는 시기와 방법을 지정합니다.

public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy = 
Public Enum CreationPolicy
상속
CreationPolicy

필드

Name Description
Any 0

현재 컨텍스트를 CompositionContainer 고려할 때 파트에 가장 적합한 CreationPolicy 부분을 사용하도록 지정합니다. 기본값 CreationPolicy입니다. 기본적으로 CompositionContainer 사용 됩니다 .Shared, 또는 가져오기 요청 NonShared하지 않는 한 ComposablePart .

Shared 1

연결된 ComposablePart 단일 공유 인스턴스가 모든 요청자에 의해 CompositionContainer 생성되고 공유되도록 지정합니다.

NonShared 2

모든 요청자에 대해 연결된 공유되지 ComposablePart 않은 새 인스턴스가 CompositionContainer 생성되도록 지정합니다.

설명

컴퍼지션 과정에서 가져오기를 CompositionContainer 채우기 위해 내보내기에서 설명하는 개체의 인스턴스가 필요합니다. 하나의 내보내기를 사용하여 여러 가져오기를 채우는 경우 두 가지 가능한 동작이 있습니다. 내보낸 개체의 단일 인스턴스가 만들어지고 동일한 개체에 대한 참조가 모든 가져오기에 제공되거나 각 가져오기에 대해 내보낸 개체의 별도 인스턴스가 만들어집니다.

어떤 동작이 발생하는지는 내보내기 및 에 연결된 속성에 RequiredCreationPolicy 따라 달라집니다 CreationPolicyPartCreationPolicyAttribute.ImportAttribute 둘 다 열거형의 CreationPolicy 값을 포함합니다. 정책이 호환되지 않는 경우 해당 내보내기가 지정된 가져오기에 대한 일치 항목으로 간주되지 않습니다. 다음 표에서는 이러한 두 속성의 상호 작용을 요약합니다.

RequiredCreationPolicy 내보내기 CreationPolicy 에서 지정한 모든 항목 또는 없음을 지정합니다. 내보내기에서 CreationPolicy 공유를 지정합니다. 내보내기가 CreationPolicy 공유되지 않는 것을 지정합니다.
어느 것이든 내보낸 개체의 공유 인스턴스가 하나 만들어집니다. 내보낸 개체의 공유 인스턴스가 하나 만들어집니다. 각 가져오기에 대해 내보낸 개체의 새 인스턴스가 만들어집니다.
공유됨 내보낸 개체의 공유 인스턴스가 하나 만들어집니다. 내보낸 개체의 공유 인스턴스가 하나 만들어집니다. 내보내기가 가져오기와 일치하는 것으로 간주되지 않습니다.
비공유 각 가져오기에 대해 내보낸 개체의 새 인스턴스가 만들어집니다. 내보내기가 가져오기와 일치하는 것으로 간주되지 않습니다. 각 가져오기에 대해 내보낸 개체의 새 인스턴스가 만들어집니다.

적용 대상