| UML relationship | .NET equivalent |
|---|---|
| Generalization | Class inheritance. Generalizations are owned by the derived class. |
| Association | Non-primitive attributes of a class. If Class A has
an attribute b of type B, Class A will own a property b with a kind of B.
The property will identify an association. The association will own a property
that has a kind of A. Associations are owned by the package owning the class containing the interesting attribute. |
| Containment | This is not strictly a UML relation, but rather the ownership of items. Packages represent namespaces (no namespace means the global namespace). Packages will contain classes, artifacts, primitive types, usages and associations. Artifacts do not contain the classes defined within them. |
| Manifestation | Represents the model elements an artifact embodies (the
classes that are defined within the file). For example, file Sample.cs defines a class C in namespace N. The model would contain an artifact for Sample.cs, a package for namespace N. Package N would contain a class for C. The artifact Sample.cs would have a manifestation relationship between itself and the class, as well as Package N. |
| TemplateBinding | Relationship between the class representing the type of the bound template and the template. For example, Stack<int> would result in a TemplateBinding relationship between an instantiation of this class and Stack. |