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
partCreationPolicy
CreationPolicyThe 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
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
IsNonSharedInstanceRequired(ImportDefinition)
public static bool IsNonSharedInstanceRequired(ImportDefinition importDefinition)
Parameters
importDefinition
ImportDefinition
Returns
IsSatisfiedBy(ExportDefinition)
public bool IsSatisfiedBy(ExportDefinition exportDefinition)
Parameters
exportDefinition
ExportDefinition
Returns
ToString(TextWriter)
public void ToString(TextWriter writer)
Parameters
writer
TextWriter