получить все строки в файле кода C # - PullRequest
2 голосов
/ 05 ноября 2010

Нас попросили предоставить все возможные сообщения об ошибках в нашем коде в целях поддержки.

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

Есть ли что-нибудь, что позволило бы мне сделать это в приложении на C #?

Приветствия

Ответы [ 4 ]

7 голосов
/ 05 ноября 2010

Как насчет использования функции поиска, подобной такой alt text

Вы также можете использовать регулярные выражения, если у вас есть шаблон и быть подробным в своем поиске, изменив «Использование» на «Регулярные выражения»

3 голосов
/ 05 ноября 2010

Если у вас ReSharper 5, вы можете использовать их функцию локализации , чтобы помочь вам сделать это.

Включите локализацию для своего проекта, затем щелкните правой кнопкой мыши проект и выберите «Поиск проблем с кодом». В нем будут перечислены все экземпляры строки, жестко закодированные в приложении. (Если вы не установили Localizable(false))

1 голос
/ 05 ноября 2010

Я уверен, что есть некоторые выражения RegEx или некоторые из них, которые вы могли бы запустить на своей базе кода, и возможно перехватывает все строки. Учитывая, что это бизнес-требование, и вы, вероятно, будете повторять это в будущем, я бы реорганизовал рефакторинг, чтобы сначала получить все мои сообщения об ошибках в структурированном формате. Затем автоматизируйте анализ структурированного формата. Файлы ресурсов могут быть подходящими.

1 голос
/ 05 ноября 2010

Если вы можете думать о последовательной строке, которую вы используете в каждой строке сообщения (например, «выбросить новое исключение» или «MessageBox.Show (»), это может быть так же просто, как нажать Ctrl + Shift + F в Visual Studio (найти в файлах), набрав его, затем скопировав результаты в файл.

Перед тем, как перейти в Regex land, проверьте следующее: Regex для анализа исходного кода C # для поиска всех строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...