2010-03-28 1 views
4

Мне нужно взять проект, написанный на vb.net, который содержит более 400 тыс. Строк кода, написанных в режиме строгого режима опций. Я хочу сначала создать его под опцией strict, прежде чем я сделаю что-нибудь еще, что, возможно, превратит его в C#. Я обнаружил, что тысячи строк кода вызывают ошибку компиляции, в основном это неявные типу.Инструменты для конвертации опции строгий код в опцию strict on?

Есть ли какой-нибудь инструмент, который поможет скомпилировать его в режиме с опцией строгого режима, если я не хочу исправлять каждую строку вручную? Потому что очень сложно добавлять вызов CStr/CInt в каждую строку кода самостоятельно.

+3

Почему каждый хочет преобразовать весь этот производственный код в C#? Я говорю вам, что я ненавижу Java, но если я унаследовал Java-программу, я бы не преобразовал ее в VB.NET или на любой другой язык. Смирись с этим. – AMissico

+0

Я хочу преобразовать плохие коды в хорошие. Даже если мне придется зацикливаться на VB.net и не конвертировать его в C#, я все же хочу, чтобы он был опциональным. – deerchao

+0

После некоторого времени исследований я решил добавить параметр строго в один файл за раз и сделать его компиляцией, пока все файлы не будут преобразованы. Очень жаль, что я не могу найти никаких инструментов, чтобы сделать это проще. – deerchao

ответ

0

Итак, вы хотите использовать опцию Strict и не использовать ее одновременно?

Я расскажу вам, что: сначала включите опцию Strict to On, затем в разделе «Конфигурации предупреждения» измените условие «Неявное преобразование» с «Ошибка» на «Предупреждение» (или «Нет»). Затем вы увидите, что в конфигурации указано: Option Strict - «Custom».

Но не обманывайте себя: эта настраиваемая настройка не является строгой, поскольку позволяет неявные вещи иметь место. Вам нужно спросить себя: «Почему я хочу скомпилировать это под опцией Strict?».

+0

Нет, я не хочу обманывать себя. Я хочу, чтобы это стало реальным вариантом Strict code, но не вручную - добавление CInt, CStr к каждому преобразованию implict tpe. – deerchao

+0

Это должно быть сделано вручную, потому что иначе это будет просто фальшивый строгий код. Все сужение конверсий необходимо проверять вручную, чтобы гарантировать, что они не будут бросать ошибки времени выполнения. –

+0

Я просто хочу, что сделал компилятор VB, чтобы заставить его работать явно в коде. Угадайте, что это слишком сложно. – deerchao

5

Просто добавление CInt или CStr или convert.tostring в этом отношении не принесет вам ничего. вам нужно посмотреть дизайн на индивидуальной основе и выяснить, почему их типы данных не совпадают с нуля.

3

Как насчет сочетания и соответствия, чтобы вы могли работать. Это то, что я думаю, что вам следует делать. Задайте настройку проекта «Option strict On» Все отдельные файлы .vb, которые имеют ошибку компиляции ... поставьте «Option strict Off» в качестве первой строки в этом файле. (это переопределит настройку проекта)

Теперь у вас есть компиляционный проект.

Следующее задание - это время, когда у вас есть время выбрать отдельный файл (поиск по опции «Строго выключен») (или когда вы изменяете файл по другой причине) Удалите «Option strict Off» из отдельного файла и пусть автоматически корректируют теги VisualStudio, исправляют ошибки для вас.

Смежные вопросы