Tangible Software Solutions

The Most Trusted Name in Source Code Conversion

FAQ for C# to Java Converter

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

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

Q:    What is the conversion accuracy?

Our accuracy is the highest in the industry, but there will be significant adjustments required for all but the most trivial conversions.  There are no direct equivalents for some aspects of C#.  Read the rest of the FAQ to get an idea of a few things that are not converted.  C# to Java Converter is intended to reduce the amount of work you'll have to do to convert C# code to Java, but it is just the first step.

Q:    Are C# delegates converted?

Yes - try out our Free Edition to see the conversion details.  We convert delegate declarations to interface declarations and references to delegate instances to lambdas.

Q:    Are C# events converted?

Yes - try out our Free Edition to see the conversion details.  We substitute a wrapper type (using Java generics) for the event delegate type. This generic type maintains collections of 'listeners' with methods to add or remove listeners.

Q:    Are C# ref parameters converted?

Yes - try out our Free Edition to see the conversion details.  We substitute a wrapper type (using Java generics) for the parameter type and adjust all references to the parameter in the defining method and all calls to the method.

Q:    How are C# methods with optional parameters converted?

Overloaded methods are created.  Missing arguments are replaced by the defaults specified by the original C# parameter list.

Q:    What are the most common adjustments necessary after conversion?

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
 1;
 #else
 2;
 #endif

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

Copyright © 1997 - 2017 Tangible Software Solutions Inc.