Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > C# code > C# profile package > Overview of the C# profile package (C# code)
  
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.