CreationPolicy 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파트를 인스턴스화하는 시기와 방법을 지정합니다.
public enum class CreationPolicy
public enum CreationPolicy
type CreationPolicy =
Public Enum 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 공유되지 않는 것을 지정합니다. |
|---|---|---|---|
| 어느 것이든 | 내보낸 개체의 공유 인스턴스가 하나 만들어집니다. | 내보낸 개체의 공유 인스턴스가 하나 만들어집니다. | 각 가져오기에 대해 내보낸 개체의 새 인스턴스가 만들어집니다. |
| 공유됨 | 내보낸 개체의 공유 인스턴스가 하나 만들어집니다. | 내보낸 개체의 공유 인스턴스가 하나 만들어집니다. | 내보내기가 가져오기와 일치하는 것으로 간주되지 않습니다. |
| 비공유 | 각 가져오기에 대해 내보낸 개체의 새 인스턴스가 만들어집니다. | 내보내기가 가져오기와 일치하는 것으로 간주되지 않습니다. | 각 가져오기에 대해 내보낸 개체의 새 인스턴스가 만들어집니다. |