Overview of the C# profile package (C# code)
The C# Profile package contains Stereotypes and Tag Definitions required for modeling C# code in the model. Through the Tag Definitions in the C# profile, you can model C# specific information. In addition, the C# Profile package contains some C# Basic Types, such as bool, byte and char.
|
ACS does not generate code for the C# Profile package.
|
Important:
• Do not make changes to the C# profile. Any changes you make will be lost when the profile is updated.
|
Note that you can create Tag Definitions outside of the C# profile, and link those Tag Definitions to Stereotypes in the C# profile. When the C# profile is updated, the links will not be broken.
|
• Do not create copies of the C# profile within a model, or create copies of the C# profile through XMI Import/Export. The copies of the C# profile will not work correctly and you will not be able to update the copies through the Update All Profiles command.
The C# Profile package includes the following Stereotypes and Tag Definitions:
• «C# Classifier» applies the following Tag Definitions to a Class, Data Type or Interface:
◦ C# Attributes - specifies attributes of the class, struct or interface.
◦ C# Extern Alias Directives - specifies alias directives that cannot be modeled in Modeler.
◦ C# File– records the location of the code file that your ACS generated for the Class, Data Type or Interface.
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# New- specifies that the new keyword is generated when appropriate.
◦ C# Parent File Scoped - specifies that the class, struct or interface is defined in the code file that is generated for the owning Package or Model.
◦ C# Partial – specifies use of the partial modifier.
◦ C# Sealed- specifies use of the sealed modifier.
◦ C# Static- specifies use of the static modifier.
◦ C# Type Parameters Constraints- specifies constraints that apply to the type parameters of a generic type.
◦ C# Unsafe- specifies use of the unsafe modifier.
◦ C# Using Directives- specifies using directives that cannot be modeled in Modeler.
• «C# Constant» applies the following Tag Definitions to an Attribute or Role:
◦ C# Actual Parameters– if the type of the constant is a generic type, specifies the type arguments for that generic type.
◦ C# Attributes- specifies attributes of the constant.
◦ C# Delegate Type – references a delegate to use as a type.
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# Needs Qualified Type – specifies that the fully qualified name of the type is generated.
◦ C# New- specifies that the new keyword is generated when appropriate.
• «C# Constructor» applies the following Tag Definitions to an Operation:
◦ C# Attributes- specifies attributes of the constructor.
◦ C# Constructor Initializer- specifies an initializer for an instance constructor.
◦ C# Extern- specifies use of an extern modifier.
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# Unsafe- specifies use of the unsafe modifier.
• «C# Delegate» applies the following Tag Definitions to an Operation:
◦ C# Actual Parameters - if the type of the delegate is a generic type, specifies the type arguments for that generic type.
◦ C# Attributes- specifies attributes of the delegate.
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.
◦ C# New- specifies that the new keyword is generated when appropriate.
◦ C# Type Parameters- specifies type parameters for the delegate.
◦ C# Type Parameters Constraints- specifies type parameter constraints for the delegate.
◦ C# Unsafe- specifies use of the unsafe modifier.
• «C# Dependency» applies the following Tag Definitions to a Dependency:
◦ C# Actual Parameters- specifies type arguments for a generic interface.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the realized interface is generated.
• «C# Enum» applies the following Tag Definitions to a Type Definition:
◦ C# Attributes- specifies attributes of the enum.
◦ C# Enum Base- specifies the default type for the literals.
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# New- specifies that the new keyword is generated when appropriate.
• «C# Enum Member» applies the following Tag Definitions to a Enumeration Literal:
◦ C# Value- specifies the constant expressions for an enum member.
• «C# Event» applies the following Tag Definitions to an Attribute:
◦ C# Abstract- specifies use of the abstract modifier.
◦ C# Add Accessor Attributes- specifies attributes for the add accessor declaration.
◦ C# Add Accessor Body- specifies the body of the add accessor declaration.
◦ C# Attributes- specifies attributes of the event.
◦ C# Delegate Type- references a delegate to use as a type.
◦ C# Extern- specifies use of an extern modifier.
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.
◦ C# New- specifies that the new keyword is generated when appropriate.
◦ C# Override- specifies use of the override modifier.
◦ C# Remove Accessor Attributes- specifies attributes for the remove accessor declaration.
◦ C# Remove Accessor Body- specifies the body of the remove accessor declaration.
◦ C# Sealed- specifies use of the sealed modifier.
◦ C# Unsafe- specifies use of the unsafe modifier.
◦ C# Virtual– specifies use of the virtual modifier.
• «C# Field» applies the following Tag Definitions to an Attribute or Role:
◦ C# Actual Parameters– if the type of the field is a generic type, specifies type arguments for that generic type.
◦ C# Attributes- specifies the attributes of the field.
◦ C# Delegate Type- references a delegate to use as a type.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# New- specifies that the new keyword is generated when appropriate.
◦ C# Read Only - not used at present.
◦ C# Unsafe- specifies use of the unsafe modifier.
◦ C# Volatile– specifies use of the volatile modifier.
• «C# Finalizer» applies the following Tag Definitions to an Operation:
◦ C# Attributes- specifies the attributes of the finalizer.
◦ C# Extern- specifies use of an extern modifier.
◦ C# Unsafe- specifies use of the unsafe modifier.
• «C# Fixed Size Buffer» applies the following Tag Definitions to an Attribute:
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# New- specifies that the new keyword is generated when appropriate.
◦ C# Unsafe- specifies use of the unsafe modifier.
• «C# Indexer» applies the following Tag Definitions to an Operation:
◦ C# Actual Parameters– if the type of the indexer is a generic type, specifies type arguments for that generic type.
◦ C# Attributes- specifies the attributes of the indexer.
◦ C# Delegate Type - references a delegate to use as a type.
◦ C# Extern- specifies use of an extern modifier.
◦ C# Get Accessor Attributes- specifies attributes for the get accessor declaration.
◦ C# Get Accessor Body- specifies the body of the get accessor.
◦ C# Get Accessor Modifiers- specifies an access modifier for the get accessor.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.
◦ C# New- specifies that the new keyword is generated when appropriate.
◦ C# Interna l- specifies use of the internal or protected internal modifiers.
◦ C# Override- specifies use of the override modifier.
◦ C# Sealed- specifies use of the sealed modifier.
◦ C# Set Accessor Attributes- specifies attributes for the set accessor declaration.
◦ C# Set Accessor Body- specifies the body of the set accessor.
◦ C# Set Accessor Modifiers- specifies the access modifier for the set accessor.
◦ C# Unsafe- specifies use of the unsafe modifier.
• «C# Method» applies the following Tag Definitions to an Operation:
◦ C# Actual Parameters– if the type of the method is a generic type, specifies type arguments for that generic type.
◦ C# Attributes- specifies the attributes of the method.
◦ C# Delegate Type - references a delegate to use as a type.
◦ C# Extern- specifies use of an extern modifier.
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.
◦ C# New- specifies that the new keyword is generated when appropriate.
◦ C# Override- specifies use of the override modifier.
◦ C# Sealed- specifies use of the sealed modifier.
◦ C# Type Parameters- specifies type parameters for a method.
◦ C# Type Parameters Constraints- specifies type parameter constraints for the delegate.
◦ C# Unsafe- specifies use of the unsafe modifier.
• «C# Model» applies the following Tag Definitions to a Model:
◦ C# Attributes- specifies attributes to generate at the beginning of the code file that is generated for the model (after any extern alias directives and using directives).
◦ C# Extern Alias Directives- specifies extern alias directives to generate at the beginning of the code file that is generated for the model.
◦ C# File – records the location of the code file that your ACS generated for the model.
◦ C# Using Directives- specifies using directives to generate at the beginning of the code file that is generated for the model (after any extern alias directives).
• «C# Operator» applies the following Tag Definitions to an Operation:
◦ C# Actual Parameters– if the type of the operator is a generic type, specifies type arguments for that generic type.
◦ C# Attributes- specifies attributes of the operator.
◦ C# Delegate Type - references a delegate to use as a type.
◦ C# Extern- specifies use of an extern modifier.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.
◦ C# Operator Conversion- specifies use of the implicit or explicit modifier.
◦ C# Unsafe- specifies use of the unsafe modifier.
• «C# Package» applies the following Tag Definitions to a Package:
◦ C# Extern Alias Directives- specifies extern alias directives to generate at the beginning of the code file that is generated for the Package.
◦ C# File – records the location of the code file that your ACS generated for the Package.
◦ C# Namespace – specifies whether to generate a folder for a namespace Package.
◦ C# Using Directives- specifies using directives to generate at the beginning of the code file that is generated for the Package (after any extern alias directives)
• «C# Parameter» applies the following Tag Definitions to a Parameter:
◦ C# Actual Parameters- if the type of the parameter is a generic type, specifies the type arguments for that generic type.
◦ C# Attributes- specifies the attributes of the parameter.
◦ C# Delegate Type - references a delegate to use as a type.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.
◦ C# This - specifies that the Parameter models an extension parameter method using the 'this' modifier.
• «C# Property» applies the following Tag Definitions to an Attribute or Role:
◦ C# Abstract- specifies use of the abstract modifier.
◦ C# Actual Parameters- if the type of the property is a generic type, specifies the type arguments for that generic type.
◦ C# Attributes- specifies attributes of the property.
◦ C# Delegate Type - references a delegate to use as a type.
◦ C# Extern- specifies use of an extern modifier.
◦ C# Get Accessor Attributes- specifies attributes for the get accessor declaration.
◦ C# Get Accessor Body- specifies the body of the get accessor.
◦ C# Get Accessor Modifiers- specifies an access modifier for the get accessor
◦ C# Internal- specifies use of the internal or protected internal modifiers.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.
◦ C# New- specifies that the new keyword is generated when appropriate.
◦ C# Override- specifies use of the override modifier.
◦ C# Sealed- specifies use of the sealed modifier.
◦ C# Set Accessor Attributes- specifies attributes for the set accessor declaration.
◦ C# Set Accessor Body- specifies the body of the set accessor.
◦ C# Set Accessor Modifiers- specifies the access modifier for the set accessor.
◦ C# Unsafe- specifies use of the unsafe modifier.
◦ C# Virtual– specifies use of the virtual modifier.
• «C# Specialization» applies the following Tag Definitions to a Generalization:
◦ C# Actual Parameters– if the base class, struct or interface is a generic type, specifies the type arguments for that generic type.
◦ C# Needs Qualified Type - specifies that the fully qualified name of the type is generated.