The diagram below shows stereotypes of the C# profile.
C# Stereotypes with Tag values
Now our modeling tool`s C# Profile language properties is moved to tagged value in a specific stereotypes. Language properties were moved:
- Class is extended with Stereotype «C#Class»
- Attribute is extended with Stereotype «C#Attribute»
- Operation is extended with Stereotype «C#Operation»
- The common information of the old language properties (Class, Attribute and Operation) is extended with Stereotype C#LanguageProperty
Here you will find description about:
C#Attribute
«C#Attribute» is an invisible stereotype that is used to define C# attribute properties. This is used to store the language properties of the attribute in C#.
Name | Meta class |
---|---|
C#Attribute | Property |
Tag | Type | Description |
---|---|---|
container | String | |
fixed | Boolean | Represents the usage of Fixed Size Buffer unsafe struct A public fixed int x[5]; } |
readonly | Boolean | Represents the usage of read-only attribute Class A public readonly int x; } |
volatile | Boolean | Represents the usage of volatile attribute Class A { public volatile int x; } |
C#Class
«C#Class» is a stereotype that is used to define property of C# class. This is used to store the language properties of the class in C#. Moreover this class is used for store the information about the static class too.
Name | Meta class |
---|---|
C#Class | Class |
Tag | Type | Description |
---|---|---|
Static | boolean | Represents the usage of static class static Class A { public int x; } |
C#Delegate
«C#Delegate» is a stereotype that indicates that model class represents C# delegate.
Name | Meta class |
---|---|
C#Delegate | Class |
C#Element
«C#Element» is a stereotype that is used to define properties of all element in model.
Name | Meta class | Constraints |
---|---|---|
C#Element | Element | This stereotype can be applied to all elements such as class, attribute, operation and parameter. |
Tag | Type | Description |
---|---|---|
externAlias | String | Represents the usage of extern alias extern alias X; class Test { X::N.A a; } |
partial | String | |
C#Attributes | String | Represents C# attributes for element. |
C#EnumerationLiteral
«C#EnumeraltionLiteral» is a stereotype that is used to define enumeration.
Name | Meta class |
---|---|
C#EnumerationLiteral | EnumerationLiteral |
Tag | Type | Description |
---|---|---|
C#Initializer | String | Represents enumeration member’s constant value. |
C#Event
«C#Event» is a stereotype that is used to indicate that operation represents C# event.
Name | Meta class |
---|---|
C#Event | Operation |
Tag | Type | Description |
---|---|---|
C#AddAccessor | String | Adds add accessor for event |
C#AddAttributes | String | Defines C# attributes for add accessor. |
C#RemoveAccessor | String | Adds remove accessor for event |
C#RemoveAttributes | String | Defines C# attributes for remove accessor. |
C#Generic
«C#Generic» is a stereotype that is used to define generic properties.
Name | Meta class |
---|---|
C#Generic | Class |
Tag | Type | Description |
---|---|---|
type | generictype | Defines type for generic constraint parameter, class, struct, and new() |
C#Indexer
«C#Indexer» is a stereotype that is used to indicate that operation represents C# indexer.
Name | Meta class |
---|---|
C#Indexer | Operation |
Tag | Type | Description |
---|---|---|
C#GetAccessor | String | Adds get accessor for indexer. |
C#GetAttributes | String | Defines C# attributes for get accessor. |
C#SetAccessor | String | Adds set accessor for indexer. |
C#SetAttributes | String | Defines C# attributes for set accessor. |
C#LanguageProperty
«C#LanguageProperty» is the parent of «C#Class», «C#Attribute», and «C#Operation», So the «C#Class», «C#Attribute» and «C#Operation» also have it’s tag definition.
Name | Meta class |
---|---|
C#LanguageProperty | Element |
Tag | Type | Description |
---|---|---|
internal | boolean | |
new | boolean | |
unsafe | boolean | Represents the usage of unsafe element unsafe struct A { public fixed int x[5]; } |
C#Operation
«C#Operation» is a stereotype which is used to define properties of the operation. This is used to store the language properties of the operation in C#.
Name | Meta class |
---|---|
C#Operation | Operation |
Tag | Type | Description |
---|---|---|
conversion type | String | |
extern | boolean | Represent the usage of extern operation Class A { public extern int x(); } |
initialization | String | |
override | boolean | |
partial | String | |
virtual | boolean | |
C#ExplicitInterface | Classifier | Defines C# explicit interface for explicit interface member implementation. |
C#Operator
«C#Operator» is a stereotype that is used to indicate that the operation represents C# operator.
Name | Meta class |
---|---|
C#Operator | Operation |
C#Parameter
«C#Parameter» is a stereotype that is used to indicate that the element represents C#Parameter.
Name | Meta class |
---|---|
C#Parameter | Element |
C#Params
«C#Params» is a stereotype that is used to indicate parameter arrays.
Name | Meta class |
---|---|
C#Params | Parameter |
Tag | Type |
---|---|
extend | String |
params | String |
C#Property
«C#Property» is a stereotype that is used to indicate that the operation represents C# property.
Name | Meta class |
---|---|
C#Property | Operation |
Tag | Type | Description |
---|---|---|
C#GetAccessor | String | Adds get accessor for indexer. |
C#GetAttributes | String | Defines C# attributes for get accessor. |
C#SetAccessor | String | Adds set accessor for indexer. |
C#SetAttributes | String | Defines C# attributes for set accessor. |
C#Struct
«C#Struct» is a stereotype that is used to indicate that the model class represents C# structure.
Name | Meta class |
---|---|
C#Struct | Class |
C#Using
«C#Using» is a stereotype that is used to indicate that the usage dependency is C# Using directive.
Name | Meta class | Constraints |
---|---|---|
C#Using | Association, Realization, Usage | The clients of dependency are Component, and Namespace. |
Related pages: