Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > C# code > C# code > Reverse engineering legacy C# code > Mapping information > Signal mapping for C# (C# code)
  
Signal mapping for C# (C# code)
For each Signal that is not nested, ACS generates a code file (.cs). Within the code file, ACS generates the Signal as a class.
The class declaration and body is derived from the items it owns and properties of the Signal.
ACS generates the child items and properties of a Signal as follows.
Child items:
If the Signal owns any Attributes, ACS generates each Attribute as a constant, event, field or property. For more information about Attribute mapping, see Attribute mapping
If the Signal owns any Classes, ACS generates the Classes as nested classes. For more information about Class mapping, click here Class mapping
If the Signal owns any Roles, ACS generates the each Role as a constant, field or property. For more information about Role mapping, click here Association mapping
If the Signal owns any Type Definitions whose Construction is Enumeration, ACS generates each Type Definition as an enum. For more information about Type Definition mapping, click here Definition mapping
Other child items are ignored.
Properties:
If the Abstract property is set to true (Abstract check box selected on Property Pages), ACS generates the class with the abstract modifier.
If a Description is specified, ACS generates the text of a Signal's Description property on the line before the code generated for the class. For information about how comments are generated, click here Generating code comments
ACS generates the Name property as the identifier of the class.
* 
ACS may modify the class identifier that is added to the code to make it valid for C#. You can specify the exact identifier to use through the CODE_GENERATION_NAME property of a Signal. Tell me more...
If the Template property is set to True (Template check box selected on Property Pages), ACS generates the Modeler Signal as a generic class. ACS generates the Formal Template Parameters as the type parameters between angle brackets after the class identifier.
If the Visibility property is set to public or package: ACS generates the class with a public or internal modifier accordingly – ACS generates private and protected modifiers only for nested Signals.
Other properties are ignored.
Tag Definitions:
None.