Tangible Software Solutions

The Most Trusted Name in Source Code Conversion

FAQ for C# to C++ Converter

Q:    Which version of C++ is targeted?

You have the option of producing native C++ code, C++/CLI, or C++/CX code.

Q:    Are entire projects converted?

You can select C# projects or folders to convert.  All ".cs" files within that project or folder will be converted and written as either combined declaration/implementation header files or as traditionally separated .h/.cpp files to the directory you specify.  However, C# to C++ Converter does not construct the new C++ project file (e.g., the .vcxproj file in Visual Studio).  This is due to the lack of one-to-one correspondence between C# project types and formats and C++ project types and formats.

Q:    Are C# events converted?

Yes - try out our Free Edition to see the conversion details.  For native C++ output, we substitute a wrapper type for the event delegate type. This type maintains collections of 'listeners' with methods to add or remove listeners. For C++/CLI output, events are directly converted to C++/CLI events.

Q:    Are C# delegates converted?

Yes - try out our Free Edition to see the conversion details.  For native C++ output, we convert C# delegates to function pointers using std::function. For C++/CLI output, delegates are directly converted to C++/CLI delegates.

Q:    Is the original C# code altered in any way?

Your existing code is left completely intact.  The new C++ files are written to the new location that you specify.

Q:    Do you guarantee a 100% complete conversion?

No.  Our converter accuracy is the highest in the industry, but there will be some minor tweaks required in all but the most trivial conversions.  Read the rest of the FAQ to get an idea of a few things that are not converted. It is critical to try some of your own code when comparing C# to C++ converters since it is very easy to create a converter that does very well on a specific sample set.  The most important criterion is how well the converter does on your own code, and this is where C# to C++ Converter will clearly show its superiority.

Q:    What are the most common manual adjustments?

Q:    Are any adjustments required before conversion?

If the conversion source contains any statement that is interrupted by preprocessor statements, then the conversion will terminate with a message. You will have to adjust the statement and re-try the conversion. For example,
 int i =
 #if FOO

You will need to rewrite the statement as follows and then convert:
 #if FOO
 int i = 1;
 int i = 2;

Copyright © 1997 - 2017 Tangible Software Solutions Inc.