●
Bit-by-bit copying of objects via the
assignment operator is not the default in C#. We attempt
to detect these cases and convert the assignment to
a call to either the copy constructor (it used in a variable
initialization) or the converted assignment operator overload (which is
converted to a 'CopyFrom' method) and also provide a 'Warning' comment.
●
C# does not allow embedded assembly
instructions. These are marked with a comment.
●
Types cannot be declared with methods in C#.
These are marked with a comment.
●
There is no equivalent to friend functions or
friend classes in C#. These are marked with a comment.
●
Unions and bit fields have no elegant
equivalent in C#. Unions are converted to structs and marked with a comment.
Simple unions are converted using the StructLayout and
FieldOffset attributes.
●
Many operators that can be overloaded in C++
cannot be overloaded in C#. These are marked with a
comment.