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: