Share via


IOperation Interface

Specifies the name, type, parameters, and constraints for invoking an associated behavior.

Namespace:  Microsoft.VisualStudio.Uml.Classes
Assembly:  Microsoft.VisualStudio.Uml.Interfaces (in Microsoft.VisualStudio.Uml.Interfaces.dll)

Syntax

'Declaration
Public Interface IOperation _
    Inherits IBehavioralFeature, IFeature, IRedefinableElement, INamespace,  _
    ITemplateableElement, IParameterableElement, INamedElement, IElement
public interface IOperation : IBehavioralFeature, 
    IFeature, IRedefinableElement, INamespace, ITemplateableElement, IParameterableElement, 
    INamedElement, IElement
public interface class IOperation : IBehavioralFeature, 
    IFeature, IRedefinableElement, INamespace, ITemplateableElement, IParameterableElement, 
    INamedElement, IElement
type IOperation =  
    interface 
        interface IBehavioralFeature 
        interface IFeature 
        interface IRedefinableElement 
        interface INamespace 
        interface ITemplateableElement 
        interface IParameterableElement 
        interface INamedElement 
        interface IElement 
    end
public interface IOperation extends IBehavioralFeature, IFeature, IRedefinableElement, INamespace, ITemplateableElement, IParameterableElement, INamedElement, IElement

The IOperation type exposes the following members.

Properties

  Name Description
Public property ApplicableStereotypes The set of stereotypes that could be applied to this element. (Inherited from IElement.)
Public property AppliedStereotypes Each IStereotypeInstance denotes that a stereotype has been applied to this element. (Inherited from IElement.)
Public property BodyConditions Gets a constraint on the values returned from the Operation. Defined only if IsQuery = True.
Public property Class Gets the Class that owns this operation. May be null.
Public property ClientDependencies Gets the Dependency relationships for which this element is the Client. (Inherited from INamedElement.)
Public property Concurrency Defines how calls from separate threads are processed. Sequential = the feature is not designed to handle concurrent calls; Guarded = calls will be blocked so that only one is processed at a time; concurrent = multiple calls can proceed concurrently. (Inherited from IBehavioralFeature.)
Public property Description The description of this element. (Inherited from IElement.)
Public property FeaturingClassifiers Gets the Classifiers on which this Feature appears. (Inherited from IFeature.)
Public property Interface Gets the Interface that owns this Operation. May be null.
Public property IsAbstract True if this is a partial description intended to be extended or overridden in specializing classes. (Inherited from IBehavioralFeature.)
Public property IsLeaf True if this element should not be specialized. That is, it should not be the target of a Generalization relationship. (Inherited from IRedefinableElement.)
Public property IsOrdered For a return type with multiplicity > 1. True if the returned collection forms a sequence with a definite ordering.
Public property IsQuery True if execution of the Operation leaves the state of the system unchanged.
Public property IsStatic True if this feature is shared by all the instances of its classifier. False if each instance effectively has a separate copy of the feature. (Inherited from IFeature.)
Public property IsUnique For a return type with multiplicity > 1. True if each value in the returned collection is different from the other values.
Public property Lower Gets the lower multiplicity of the return value, if there is one.
Public property Members Gets the elements that are part of this Namespace. (Inherited from INamespace.)
Public property Methods Gets Methods that implement the Behavioral Feature. There may be at most one behavior for each pairing of a classifier (as owner of the behavior) and a behavioral feature (as specification of the behavior). (Inherited from IBehavioralFeature.)
Public property Name The name of this element within the Namespace that contains it. In this Namespace, there should be no other element that has this Name. (Inherited from INamedElement.)
Public property Namespace Gets the Namespace in which this element is defined. May be null. (Inherited from INamedElement.)
Public property OwnedComments Gets Comments contained in this element (not comments linked to it). (Inherited from IElement.)
Public property OwnedElements Gets Elements owned by this element. Every element has one owner, except the root IModel. (Inherited from IElement.)
Public property OwnedMembers Gets the elements that are defined within this Namespace. (Inherited from INamespace.)
Public property OwnedParameters Gets the ordered set of formal parameters owned by this BehavioralFeature. The parameter direction can be in, inout, out, or return. (Inherited from IBehavioralFeature.)
Public property Owner Gets the Element that owns this element. Every element except the root IModel has one owner. (Inherited from IElement.)
Public property OwningTemplateParameter If not null, this element is defined as a parameter in a template. (Inherited from IParameterableElement.)
Public property PackageImports Gets the packages that are imported by this namespace. (Inherited from INamespace.)
Public property Postconditions Gets the Constraints that should be satisfied when the Operation completes.
Public property Preconditions Gets the constraints that should be satisfied before the Operation is invoked.
Public property QualifiedName Gets the name of this element, prefixed with the Qualified Name of the Namespace that contains it. Empty if the Name is empty or if the Qualified Name of the Namespace is empty. (Inherited from INamedElement.)
Public property Signature Gets a string representing the visibility, name, parameters, and return type of the Operation. For example: +Cook(p1:Heat):Food
Public property TemplateBindings Gets the Bindings in which this element is used. (Inherited from ITemplateableElement.)
Public property TemplateParameter If not null, this element is defined as a parameter in a template. (Inherited from IParameterableElement.)
Public property Type The type of the return value, if there is one.
Public property Upper Gets the upper multiplicity of the return value, if there is one.
Public property Visibility Defines where the element can be referenced. Public = visible anywhere; private = visible only in the owning Namespace; protected = visible to elements that have a generalization relationship to the owning Namespace; package = visible only in the Package owning the Namespace, if there is one. Default = public. (Inherited from INamedElement.)
Public property VisibleAppliedStereotypes (Inherited from IElement.)

Top

Extension Methods

  Name Description
Public Extension Method AddReference Links a string to an element, usually where the string is a reference such as a URI, modelbus reference, or work item ID. Use the name to indicate the type of reference. Returns an IReference object that represents the link. (Defined by UmlExtensions.)
Public Extension Method ApplyStereotype Applies the stereotype to element. Creates an IStereotypeInstance that represents the extension of the model element by the stereotype. (Defined by ProfileStereotypeExtensions.)
Public Extension Method CreateBodyConditionConstraint Create a new bodyCondition IConstraint owned by Operation. (Defined by OperationExtensions.)
Public Extension Method CreatePackageImport Import a package into a namespace. Creates an IPackageImport link to the package. (Defined by NamespaceExtensions.)
Public Extension Method CreateParameter Create a new IParameter object in the Behavioral Feature (Defined by BehavioralFeatureExtensions.)
Public Extension Method CreatePostconditionConstraint Create a new postcondition IConstraint owned by Operation. (Defined by OperationExtensions.)
Public Extension Method CreatePreconditionConstraint Create a new precondition IConstraint owned by Operation. (Defined by OperationExtensions.)
Public Extension Method Delete Deletes this element and any relationships, owned elements, and shapes. (Defined by UmlExtensions.)
Public Extension Method DeleteAllReference Remove all the references of a given tag. (Defined by UmlExtensions.)
Public Extension Method GetDependencyClients Return a collection of elements that are dependent on this. (Defined by NamedElementExtensions.)
Public Extension Method GetDependencySuppliers Return a collection of elements on which this is dependent. (Defined by NamedElementExtensions.)
Public Extension Method GetId Gets a GUID that identifies this element. (Defined by UmlExtensions.)
Public Extension Method GetImportedPackages The imported packages of the namespace (Defined by PackageExtensions.)
Public Extension Method GetModelStore Gets the IModelStore that contains this element. (Defined by UmlExtensions.)
Public Extension Method GetReferences Get the IReferences of a given tag that are associated with this element. (Defined by UmlExtensions.)
Public Extension Method GetRelatedElements<T> Gets elements related to this element by relationships of the specified type. (Defined by UmlExtensions.)
Public Extension Method GetRelatedLinks<T> Gets relationships of a specified type from or to this element. (Defined by UmlExtensions.)
Public Extension Method Shapes All the shapes that display the model element on any open diagram, or on a specified open diagram. (Defined by PresentationHelpers.)

Top

Remarks

Note

The methods defined on this type are extension methods. To use the methods, you must add a project reference to the .NET assembly Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll, and you must include the directive using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml; in your code.

See Also

Reference

Microsoft.VisualStudio.Uml.Classes Namespace