Stereotypes of the C# profile

The C# profile contains stereotypes that you can apply to classes, attributes, operations, interfaces, enumerations, and relationships. Each stereotype has a set of previously defined valid attributes and types.

The following table lists the stereotypes of the profile and their related attributes and types.

Note: In most instances, do not apply more than one stereotype to a UML model element. There can be scenarios where more than one stereotype can be applied. For example, a field might or might not have a «CSharp Field» stereotype. If the field is a pointer, it requires the «CSharp Pointer» stereotype. Also, if the type of the field is an array, it requires the «CSharp Array» stereotype. In this case, the UML property can have three stereotypes: «CSharp Field», «CSharp Pointer», and «CSharp Array».
Stereotype Applicable to Attributes Type
«CSharp Class» Class

attributes
new
protected_internal
static
unsafe

String
Boolean
Boolean
Boolean
Boolean

«CSharp Field» Property

attributes
constant
new
protected_internal
unsafe
volatile

String
Boolean
Boolean
Boolean
Boolean
Boolean

«CSharp Method» Operation

attributes
extern
new
override
protected_internal
unsafe
virtual

String
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

«CSharp Params» Parameter    
«CSharp Property» Property

abstract
accessors
attributes
extern
new
override
protected_internal
unsafe
virtual

Boolean
ReadWriteAccessorEnumeration (read and write, read-only, write-only)
String
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

«CSharp Indexer» Operation

accessors
attributes
extern
new
override
protected_internal
unsafe
virtual

ReadWriteAccessorEnumeration (read and write, read-only, write-only)
String
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

«CSharp Array» Parameter, Property rank_specification String
«CSharp Pointer» Parameter, Property indirection_specifications String
«CSharp Event» Property

abstract
accessors


attributes
extern
new
override
protected_internal
unsafe
virtual

Boolean
ReadWriteAccessorEnumeration (read and write, read-only, write-only)
String
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

«CSharp Delegate» Class

attributes
new
protected_internal
unsafe

String
Boolean
Boolean
Boolean

«CSharp Interface» Interface

attributes
new
protected_internal
unsafe

String
Boolean
Boolean
Boolean

«CSharp Struct» Class

attributes
new
protected_internal
unsafe

String
Boolean
Boolean
Boolean

«CSharp Partial» Dependency    
«CSharp Enum» Enumeration

attributes
implementation_type
new
protected_internal

String
EnumBaseEnumeration (byte, int, long, none, sbyte, short, uint, ulong, ushort)
Boolean
Boolean

«CSharp Extension Method» Operation    
«CSharp Partial Definition» Operation    
«CSharp Partial Declaration» Operation    
«CSharp Constraints» Classifier Template Parameter

Constructor_Constraint
Metadata_Constraint
Type_Constraint

Boolean
Enumeration (class, struct, none)
UserDefinedType


Feedback