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 > Concepts > Overview of the C# Code Reverser user interface (C# code)
  
Overview of the C# Code Reverser user interface (C# code)
The Reverser has a wizard style interface that guides you through the process of reverse engineering code.
You are prompted for the following information:
Model - the Model you want to reverse engineer to.
Root Object - the Model or a Package in the Model. Model items are created in the root object and its sub-Packages.
Root Directory - the folder in which the application code resides. The root directory is used when initially searching for code files to reverse engineer.
Model Settings File- you must create or select a Model Settings File, and then optionally save your Reverser settings to that file on exiting the Reverser. A Model Settings File sets up default settings on the Reverser pages.
Files to reverse engineer- you can select multiple files through wildcard searches, or select individual files.
Compiler #Defines- so that the code files can be correctly parsed.
Before reverse engineering any code, the Reverser provides a summary of the options you have set on the Task Summary page, so that you can confirm the options before reverse engineering any code. If you want to change an option, use the Back button to find the appropriate page.
The Reverser parses the selected code files and reports any parsing errors on the Processing Complete page. If there are parsing errors, you should resolve these errors before reverse engineering any code. Your source code should compile cleanly. You can parse the selected code files again by clicking the Back button, and then the Next button.
After the reverse engineering of code, the Reverser displays a completion summary.