- Q: Is the original
C# project
altered in any way?
- A:
Your existing code is left completely intact. The new
VB.NET
project is written to the new location that you specify.
- Q: Do you guarantee
a 100% complete conversion?
- A:
No. Our accuracy is the highest in the industry - over 99%
(99.98% on Microsoft's "101 C# Code Samples"), but
there will be some minor tweaks required in all but the most
trivial projects. 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
VB.NET converters since it is very easy to create a converter
that does very well on a
specific set of projects, such as Microsoft's published 101 C#
code samples. Most converters, including
Instant VB,
are regularly tested against these sample projects. The
most important criterion is how well the converter does on your
own code, and this is where
Instant VB
will clearly show its superiority.
-
- Q: What are the most common
adjustments necessary after conversion?
- A:
-
●
VB.NET does
not allow assignments within expressions, but C# does (e.g.,
while ((x = y()) > 0) assigns a value to x as part of an
expression). Instant VB will convert simple assignment
cases (e.g., x = y = z or x = y++), but will mark other more
complex cases with a "ToDo" comment. You must manually
adjust these.
-
-
●
Most
reference type comparisons are converted, but occasionally you
may need to manually change an equals sign to "Is". The
VB.NET compiler makes these adjustment requirements obvious.
●
"Unsafe" blocks cannot be fully
converted since VB.NET has no corresponding concept. These
are marked with "ToDo" comments.
●
Anonymous methods are not converted by
Instant VB if local variables
of the outer method are referenced within the anonymous method. These are marked with "ToDo" comments.
●
VB does not allow overriding properties or
implementing interface properties when the properties differ in
their ReadOnly or WriteOnly status. These will require
manual adjustment.
●
VB does not allow overloading when it is based only
on method return type or the
direction of the parameters. Methods overloading done this
way will require renaming of the method name in VB.NET.
|