Namespace
You define a C# namespace using a package.
Project
You can reverse engineer C# projects when you select C# projects from the Reverse Engineer list in the Reverse Engineer C# dialog box.
Accessibility
To define accessibility for a class, an interface, or a method, you have to use the visibility property in PowerDesigner.
Class
You design a C# class using a class in PowerDesigner. C# classes can contain events, variables, constants, methods, constructors, properties, and indexers.
Struct
You design a C# struct using a class with the <<structure>> stereotype. A struct can implement interfaces but does not support inheritance; it can contain events, variables, constants, methods, constructors, and properties.
Enumeration
You design a C# enumeration using a class with the <<enumeration>> stereotype. The code of the class attributes is used as enumeration values.
Interface
You design a C# interface using an interface in PowerDesigner. C# interfaces can contain events, properties, indexers and methods; they do not support variables, constants, and constructors.
Nested Types
You design a C# nested type using an inner class or interface.
Custom Attributes
To define custom attributes for a class, an interface, a variable, a parameter or a method, you have to use the CustomAttributes extended attribute in PowerDesigner. You can use the CustomAttributes input box to type all the custom attributes you wish to add using the correct C# syntax.
Fields
You design a C# field using an attribute in PowerDesigner.
Property
To design a C# property you have to design an attribute with the <<Property>> stereotype.
Indexer
You design a C# indexer using an attribute with the <<Indexer>> stereotype. Another attribute with the <<IndexerImplementation>> stereotype is automatically created, it is displayed with an underscore sign in the list of attributes. The corresponding getter and setter operations are also automatically created.
Constructor & Destructor
You design C# constructors and destructors by clicking the Add→Default Constructor/Destructor button in the list of operations of a class. This automatically creates a constructor with the Constructor stereotype, and a destructor with the Destructor stereotype. Both constructor and destructor are grayed out in the list, which means you cannot modify their definition, but you can still remove them from the list.
Delegate
You can design the following types of C# delegates:
Event
You design a C# event using an attribute with the <<Event>> stereotype.
Operator Method
You design a C# operator using an operation with the <<Operator>> stereotype. Make sure the <<Operator>> operation has the Public visibility and the Static property selected.
Conversion Operator Method
You design a C# conversion operator using an operation with the <<ConversionOperator>> stereotype.
Documentation Tags
To generate documentation tags, you should use the Comment box in property sheets. You can use any documentation tag before and after documentation, for example you can type <summary> and </summary>.