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
SharedPartRequired
The constraint to include in the ImportDefinition when a shared part is required.
public static readonly PartCreationPolicyConstraint SharedPartRequired
Field Value
Properties
RequiredCreationPolicy
public CreationPolicy RequiredCreationPolicy { get; }
Property Value
Methods
Equals(IImportSatisfiabilityConstraint?)
public bool Equals(IImportSatisfiabilityConstraint? obj)
Parameters
Returns
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
partCreationPolicyCreationPolicyThe CreationPolicy of the exporting ComposablePartDefinition.
Returns
- ImmutableDictionary<string, object>
A dictionary of metadata.
GetRequiredCreationPolicyConstraint(CreationPolicy)
public static PartCreationPolicyConstraint? GetRequiredCreationPolicyConstraint(CreationPolicy requiredCreationPolicy)
Parameters
requiredCreationPolicyCreationPolicy
Returns
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
requiredCreationPolicyCreationPolicy
Returns
IsNonSharedInstanceRequired(ImportDefinition)
public static bool IsNonSharedInstanceRequired(ImportDefinition importDefinition)
Parameters
importDefinitionImportDefinition
Returns
IsSatisfiedBy(ExportDefinition)
public bool IsSatisfiedBy(ExportDefinition exportDefinition)
Parameters
exportDefinitionExportDefinition
Returns
ToString(TextWriter)
public void ToString(TextWriter writer)
Parameters
writerTextWriter