Microsoft.VisualStudio.Uml.Classes Namespace

This namespace defines the basic modeling concepts in UML, such as IElement and IRelationship, from which all the other UML types are derived. For more information about UML models in Visual Studio Ultimate, see Developing Models for Software Design. For more information about the UML API, see Extending UML Models and Diagrams.

The types and properties defined in this namespace correspond to those defined in the UML Specification. In addition, extension methods are defined on many of the types in this namespace. For more information, see Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml.


  Interface Description
Public interface IAbstraction A relationship between two elements that represent the same concept at different levels of detail.
Public interface IAssociation An association defines a class of links between instances of two or more types. Each type related by the association has a property that provides access to the link.
Public interface IBehavioralFeature A feature that describes a response to messages or events.
Public interface IClass A description or partial description of objects that can respond to messages and events, hold values, and change state.
Public interface IClassifier A definition of a set of values that consist of a set of features and a set of constraints over the features. A Classifier can inherit parts of its definition from other Classifiers.
Public interface IComment Text that can be attached to one or more elements.
Public interface IConstraint A condition or restriction expressed in natural language or machine readable language.
Public interface IDataType A type that consists of a set of immutable values that have no structure.
Public interface IDependency A relationship that signifies that an element requires other model elements for its specification or implementation
Public interface IDirectedRelationship A relationship between a source model element and a target model element.
Public interface IElement The supertype of all UML types.
Public interface IEnumeration A user-defined type that consists of a set of user-defined values.
Public interface IEnumerationLiteral A user-defined data value in an Enumeration type.
Public interface IExpression A tree of symbols that specify a possibly empty set of objects or data values.
Public interface IFeature A part of a type's description, such as an operation or an attribute.
Public interface IGeneralization A relationship between two classifiers in which the Specific classifier inherits and augments some features of the General classifier. Depending on how the features are defined, the instances of the specific classifier might also be considered instances of the general classifier.
Public interface IInstanceSpecification Describes an individual instance of a classifier.
Public interface IInstanceValue Specifies the value modeled by an instance specification.
Public interface IInterface A type that defines a set of publicly-visible features, with no implementation or internal structure.
Public interface IInterfaceRealization A realization between an interface that represents a specification, and a classifier that implements the specification.
Public interface ILiteralBoolean A constant Boolean value that appears in an expression.
Public interface ILiteralInteger A constant integer that appears in an expression.
Public interface ILiteralSpecification A specification of a value that forms part of an expression.
Public interface ILiteralString A constant string within an expression.
Public interface IMultiplicityElement Defines how many instances of an element can be appear in a given context such as an attribute, parameter, or association end. If Upper Bound > 1, the context contains a collection of the given type.
Public interface INamedElement An element that can have a readable name.
Public interface INamespace An element that can contain elements that can be identified by name. Examples are Package, Class, Activity.
Public interface IOpaqueExpression An expression that denotes a possibly empty set of objects or data values when evaluated in a context.
Public interface IOperation Specifies the name, type, parameters, and constraints for invoking an associated behavior.
Public interface IPackage
Public interface IPackageableElement An element that can be contained in a package.
Public interface IPackageImport A relationship between Packages that allows the elements of the imported package to be referred to as if they were defined in the importing package.
Public interface IParameter Specifies the type of object that can be passed in or out of a behavior.
Public interface IPrimitiveType A predefined data type such as integer or Boolean.
Public interface IProfileInstance The application of a Profile to a Package.
Public interface IProperty A value or collection of values owned by a classifier, representing an attribute, association end, or component part.
Public interface IRealization A relationship between a model element that represents a specification, and an element that represents an implementation.
Public interface IRedefinableElement An element that, when defined in the context of a classifier, can be redefined more specifically or differently in the context of another classifier that specializes (directly or indirectly) the context classifier.
Public interface IRelationship A base class for all kinds of binary relation between Elements, such as Associations, Dependencies, Flows, and so on. Every relationship has a source element and a target element. A relationship can also have properties of its own.
Public interface IStereotypeInstance Represents the application of a stereotype to a model element.
Public interface IStereotypePropertyInstance Represents the value of a property in an application of a stereotype to a model element.
Public interface IStructuralFeature A feature that describes part of the state of an object.
Public interface IType A description of a set of values. For example, a class, an interface, an enumeration, a component, a number, null.
Public interface ITypedElement An element such as a parameter or pin that can be assigned an instance that conforms to a given type.
Public interface IUsage A relationship between an element and another element that it requires for its full implementation or operation.
Public interface IValueSpecification Each instance of this class is a specification of a possibly empty set of objects or data values.


  Enumeration Description
Public enumeration AggregationKind DomainEnumeration: AggregationKind Describes the sharing characteristics of an Association. The precise interpretation is open to local convention.
Public enumeration ParameterDirectionKind DomainEnumeration: ParameterDirectionKind Defines the direction of flow of information in a parameter.
Public enumeration VisibilityKind DomainEnumeration: VisibilityKind Defines the scope within which the name of an element can be used.