Table of Contents

Class PartCreationPolicyConstraint

Namespace
Microsoft.VisualStudio.Composition
Assembly
Microsoft.VisualStudio.Composition.dll

A constraint that may be included in an ImportDefinition that only matches exports whose parts have a compatible CreationPolicy.

public class PartCreationPolicyConstraint : IImportSatisfiabilityConstraint, IEquatable<IImportSatisfiabilityConstraint>
Inheritance
PartCreationPolicyConstraint
Implements
Inherited Members

Fields

NonSharedPartRequired

The constraint to include in the ImportDefinition when a non-shared part is required.

public static readonly PartCreationPolicyConstraint NonSharedPartRequired

Field Value

PartCreationPolicyConstraint

SharedPartRequired

The constraint to include in the ImportDefinition when a shared part is required.

public static readonly PartCreationPolicyConstraint SharedPartRequired

Field Value

PartCreationPolicyConstraint

Properties

RequiredCreationPolicy

public CreationPolicy RequiredCreationPolicy { get; }

Property Value

CreationPolicy

Methods

Equals(IImportSatisfiabilityConstraint?)

public bool Equals(IImportSatisfiabilityConstraint? obj)

Parameters

obj IImportSatisfiabilityConstraint

Returns

bool

GetExportMetadata(CreationPolicy)

Gets a dictionary of metadata to include in an ExportDefinition to signify the exporting part's CreationPolicy.

public static ImmutableDictionary<string, object?> GetExportMetadata(CreationPolicy partCreationPolicy)

Parameters

partCreationPolicy CreationPolicy

The CreationPolicy of the exporting ComposablePartDefinition.

Returns

ImmutableDictionary<string, object>

A dictionary of metadata.

GetRequiredCreationPolicyConstraint(CreationPolicy)

public static PartCreationPolicyConstraint? GetRequiredCreationPolicyConstraint(CreationPolicy requiredCreationPolicy)

Parameters

requiredCreationPolicy CreationPolicy

Returns

PartCreationPolicyConstraint

GetRequiredCreationPolicyConstraints(CreationPolicy)

Creates a set of constraints to apply to an import given its required part creation policy.

public static ImmutableHashSet<IImportSatisfiabilityConstraint> GetRequiredCreationPolicyConstraints(CreationPolicy requiredCreationPolicy)

Parameters

requiredCreationPolicy CreationPolicy

Returns

ImmutableHashSet<IImportSatisfiabilityConstraint>

IsNonSharedInstanceRequired(ImportDefinition)

public static bool IsNonSharedInstanceRequired(ImportDefinition importDefinition)

Parameters

importDefinition ImportDefinition

Returns

bool

IsSatisfiedBy(ExportDefinition)

public bool IsSatisfiedBy(ExportDefinition exportDefinition)

Parameters

exportDefinition ExportDefinition

Returns

bool

ToString(TextWriter)

public void ToString(TextWriter writer)

Parameters

writer TextWriter