Какой тип проекта C# вы бы использовали для переработки элемента управления ActiveX MFC C++?
-
09-06-2019 - |
Вопрос
Глядя на шаблоны проектов C# в VS2008, можно отметить следующие предложения: Библиотека пользовательских элементов управления WPF, Библиотека пользовательских элементов управления WPF и Библиотека элементов управления Windows Forms.Какой из них вы бы использовали, если бы хотели перенести устаревший активный элемент управления, написанный на C++, в мир C# и .NET?
Решение
Похоже, вы пытаетесь сделать несколько разных вещей одновременно:
- Перенесите свой код в новую версию Visual Studio.
- Перенесите использование вашей технологии на более новую технологию (ActiveX на .net)
- Перенесите свой язык (С++ на С#).
Если у вас небольшая кодовая база, вам, вероятно, стоит начать с нуля и при необходимости перенести функциональность в новую кодовую базу.
Для более крупной базы кода вам необходимо понимать, что это дорогостоящая задача как с точки зрения усилий, так и с точки зрения количества дефектов.
Заказ может быть:
- Импортируйте свой код в новую версию Visual Studio.Получите его компиляцию.Просмотрите настройки проекта для каждого проекта.
- Выполните рефакторинг вашего кода, чтобы максимально изолировать код mfc и activex.Следуйте хорошим практикам рефакторинга, особенно если перед началом работы у вас не так много модульных тестов.
- Рассмотрите возможность замены слоя ActiveX на .net.
- Рассмотрим, какой набор инструментов GUI лучше всего подойдет для замены MFC.
- Язык – сначала рассмотрите возможность перехода на управляемый C++.
- Рассмотрите возможность перехода с управляемого C++ на C#.
Самое главное уметь оправдать все вышеперечисленное!
Другие советы
Не существует шаблона проекта, который сделает это за вас.Вы также можете прочитать и начать с пользовательского элемента управления.
Вам нужно будет рассмотреть целевое приложение, в котором будет размещаться элемент управления.Если это бизнес-приложение, у меня есть слышал что WPF не предлагает больших преимуществ перед Forms.В соответствии с этот Однако автор считает, что убийственный WPF — это бизнес-приложение, которое использует графические возможности, предоставляемые WPF, для визуализации данных.
В конце концов, я думаю, это анализ затрат и выгод.Выберете ли вы путь WPF и оплатите стоимость обучения ради будущих преимуществ графической визуализации данных, или вы придерживаетесь проверенного и надежного метода и рискуете разработать устаревшее приложение.