2010-07-09 3 views
4

У меня есть приложение VB. Клиенты хотели конвертировать их в приложение .net. Я хотел бы перейти и преобразовать это в приложение Windows C#. Но я не уверен в проблемах, с которыми мне придется столкнуться.Преобразование VB в C# или VB.net

Одним из способов является просто понять код VB и переписать все модули в C# или VB .NET

Другой способ, что я не в курсе, на основе преобразования инструмент.

Могу ли я узнать, как вы будете обращаться с таким преобразованием? Какие инструменты вы бы предпочли для конверсии и проблемы, с которыми вы можете столкнуться?

Для простоты предположим, что мы собираемся преобразовать простой VB в приложение VB .net или C# windows.

Вы бы предпочли преобразование VB в VB.net или преобразование VB в C#. Даже если вы можете ответить на этот вопрос по частям, я был бы признателен.

ответ

2

Вы могли бы посмотреть в этой статье, это стоит читать как разминка: Converting VB6 to VB.NET, Part I

Мой совет, чтобы перевести только черепки ваш пользователь фактически использует, добавляя новые функции, как он/она требует.

0

По моему опыту, лучший способ сделать это - просто переписать приложение.

Каждый раз, когда я пытался использовать автоматический преобразователь, он терпел неудачу. В VB есть много вещей, которые просто не переводят (например, массивы управления).

1

Существует много онлайн-конвертеров для простого преобразования синтаксиса. Вот некоторые примеры:

Эти преобразователи не будут заботиться о всех вопросах. Например, доступ к массивам осуществляется с помощью() в VB, так же как и с помощью метода accessor, тогда как на C# это []. Это создает проблему, потому что преобразователи не знают, какие методы и какие массивы.

Очевидно, что самая большая проблема заключается в различиях между старыми VB и .NET. Даже если вы переводите, вы, вероятно, столкнетесь со многими проблемами в отношении устаревших устаревших методов, ограничений и т. Д.

Я бы предложил переоценить ваше приложение перед использованием конвертеров кода, чтобы вы поняли, какие изменения ожидать ,

1

я бы выбрал C#, потому что я более комфортно с этим синтаксисом. Я думаю, вы должны выбрать язык, с которым вы больше всего работаете.

Раньше я работал с pre .Net VB, и я сделал некоторое кодирование VB.Net, но сходство между этими двумя языками недостаточно велико, чтобы направить этот выбор.

В любом случае, вероятно, это будет скорее переписать, чем порт, поскольку в графическом интерфейсе, DB, доступе к файлу и т. Д. Существует много технологических отличий.

Я надеюсь, что ваш существующий продукт хорошо структурирован, он поможет в этом процессе. Если это не так, это может стоить времени для реорганизации или реструктуризации (назовите это так, как вам будет) до портирования/перезаписи.

0

Это зависит от размера вашего приложения, размера графического пользовательского интерфейса и частей, не относящихся к GUI вашего приложения, внешних библиотек/компонентов, которые использует ваше приложение, а также того, на каком языке (C# или VB.NET) вы или ваша команда чувствует себя более комфортно.

Если вы можете выделить много не-GUI-кода в своем старом приложении VB, дорога «VB-VB.NET» может быть предпочтительнее, потому что неплохо, что вы можете переносить много ваш старый код с незначительными изменениями. Во всех других случаях C# или VB.NET почти равны для этой цели, поэтому выберите язык, который у вас самый опытный/самый существующий код/​​большинство ноу-хау в вашей команде.

1

Прежде чем начать: VB не является объектно-ориентированным языком ... C# и VB.NET являются! Крайне важно, чтобы вы разобрали это в своем уме - разработка ориентированного на объект не является чем-то вроде процедурного программирования. Вы можете сделать свой новый CODE системы похожим на ваш текущий, но вы действительно не должны этого делать. Если вам не нравится изучать Object Oriented и менять способ применения вашего приложения, вы не должны запускать этот проект, потому что вы будете тратить время и деньги и, вероятно, проиграете. ... В конце концов, вы не окуните свою ручку чернилами, чтобы пополнить ее, но старые методы интересны, но технология здесь по какой-то причине. Но я не уверен в проблемах, с которыми мне придется столкнуться. .... Вы должны учиться объектно-ориентированному. После этого с правильными вопросами будет легко получить ответы. VB больше не поддерживается Microsoft, и вы не должны оставаться там, особенно когда клиенты просят вас переместить его. Это будет нелегко, но у вас нет выбора.

Один из способов - просто понять код VB и переписать все модули на C# или VB .net .... Это единственный способ - когда все начнет разваливаться - вы не будете обвинять конвертера - вы несут ответственность за понимание каждой функции в вашей системе.

Другой способ, о котором я не знаю, - это преобразование на основе инструмента. ... другие предложили вам инструменты - это хорошо для синтаксиса, но рискованно для общей функциональности

Могу ли я узнать, как вы подойдете с таким преобразованием? Какие инструменты вы бы предпочли для конверсии и проблемы, с которыми вы можете столкнуться? ... сгруппируйте свои функции с помощью Visio word excel или более профессиональных инструментов, таких как приложения UML-диаграмм

Для простоты предположим, что мы собираемся преобразовать простой VB в приложение VB .net или C# windows. ... создание форм легко, компоненты обычно более мощные

Вы бы предпочли преобразование VB в VB.net или преобразование VB в C#. ... Выберите C# vb, чтобы люди думали, что они все еще находятся в среде vb ... C# заставляет вас понять, что вы находитесь в другом мире. Тем не менее важно, чтобы вы знали, что Microsoft решила выровнять эти два языка с одинаковой функциональностью.

Есть хорошие преобразователи с одного языка на другой.

0

Лучший способ - переписать заявку. Я думаю, лучше использовать vb.NET, потому что синтаксис похож на vb.Если вы хотите попробовать инструмент конвертации, я предлагаю VB Migration Partner. www.vbmigration.com

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