Я портирую библиотеку Java на C #. Я использую Visual Studio 2008, поэтому у меня нет прекращенной программы Microsoft Java Language Conversion Assistant (JLCA).
Мой подход состоит в том, чтобы создать новое решение с аналогичной структурой проекта в библиотеке Java, а затем скопировать Java-код в файл c # и преобразовать его в действительный c # построчно. Учитывая, что я нахожу Java легким для чтения, тонкие различия в двух языках меня удивили.
Некоторые вещи легко переносить (пространства имен, наследование и т. Д.), Но некоторые вещи неожиданно изменились, например, видимость закрытых членов во вложенных классах, переопределение виртуальных методов и поведение встроенных типов. Я не до конца понимаю эти вещи, и я уверен, что есть много других отличий, которые я еще не видел.
У меня долгий путь в этом проекте. Какие практические правила я могу применить во время этого преобразования, чтобы правильно управлять языковыми различиями?