Доступность: управляемый против неуправляемого кода - PullRequest
1 голос
/ 05 июля 2010

Я собираюсь начать работу над проектом Accessibility для Windows (нацеленный на XP - 7) и хотел бы получить несколько советов о преимуществах и недостатках использования управляемого кода по сравнению с неуправляемым кодом. По сути, программное обеспечение должно быть способно читать текст из открытых окон, получать доступ к меню и другим функциям, которые могут выполнять такие программы, как JAWS или другое средство чтения с экрана. Вопрос в том, могу ли я сделать это с C # или мне нужно использовать C ++?

В течение последних двух лет я разрабатывал много кода на C #, поэтому, кажется, самый быстрый способ начать это - поиграться с пространством имен System.Windows.Automation. С другой стороны, я давно не занимался программированием на C ++ или COM, и мне пришлось бы потратить некоторое время на обновление, прежде чем использовать неуправляемый код.

Каковы ограничения использования кода C # для программного обеспечения для специальных возможностей? Являются ли они достаточно серьезными, чтобы оправдать затрачивание достаточного количества времени на обновление моих навыков в C ++ и COM, потому что я столкнулся со многими вещами, которые просто не были бы возможны (или намного более трудны) с управляемым кодом? Совместимо ли пространство имен Automation со старыми приложениями (не использующими .NET или WPF)?

1 Ответ

6 голосов
/ 05 июля 2010

Определенно управляемый код

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

.NET обеспечивает плавное взаимодействие между управляемым и неуправляемым кодом.с .NET 4.0 и C # 4.0 взаимодействие еще лучше ..

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

Только мои два цента ..

...