Dependency mapping for C# (C# code)
ACS generates code only for a Dependency of type Interface Realization that models how a C# class, struct or interface implements a C# interface.
When the C# interface being implemented is a generic type, the type arguments are modeled through the C# Actual Parameters tag definition, which can be applied to the Dependency through the «C# Dependency» stereotype.
For example, for the Interface Realization Dependency shown between Class A and Interface B, ACS generates class B as a direct base class of class A.
ACS generates the child items, properties and tagged values of a Dependency as follows.
Child items:
• A Dependency does not have any child items.
Properties:
• The Description property of a Dependency is ignored.
• The Name property of a Dependency is ignored.
• If the Type of the Dependency is set to Interface Realization, ACS generates the Dependency, assuming it links a C# class or struct to a C# interface. For other Dependency types, ACS ignores the Dependency.
Tag Definitions:
If the «C# Dependency» stereotype is applied to the Dependency, you can specify type arguments for a generic type. The «C# Dependency» stereotype applies the following Tag Definitions to a Dependency:
• If the dependent Class, Data Type, Interface or Signal is a template class (generates a generic type), ACS generates the tagged value of the C# Actual Parameters tag definition within angled brackets as the type arguments for the generic type.
• If the tagged value of the C# Needs Qualified Type tag definition is set to True, ACS generates the base class or struct declaration using the base class' or struct's fully qualified name, rather than its unqualified name.