Поделиться через


Рекомендации по использованию фрагментов кода IntelliSense

Обновлен: Ноябрь 2007

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

Обработка исключений

Как правило, если код содержит блок Try…Catch, код будет перехватывать и повторно создавать все исключения. Возможно это не самый лучший вариант для вашего проекта. На каждое исключение можно реагировать несколькими способами. Некоторые возможные действия:

  • Добавить код в каждый блок Catch для выбранного действия.

  • Ничего не делать, удалив код из блока Catch. Это приведет к тому, что приложение будет пропускать ошибку. Маловероятно, что приложение корректно восстановится при использовании этого подхода.

  • Запросить дополнительные данные у пользователя, чтобы попытаться исправить возникшую ошибку.

  • Во время выполнения блока Try отменить изменения, сделанные в данных приложения перед тем, как возникло исключение.

  • Возвратить исключение в вызывающий метод.

  • Создать исключение, определенное для данного приложения.

  • Удалить оператор Catch для этого исключения и позволить вызывающему методу обрабатывать его. Это особенно подходящий способ, если исключение не относится к вашей задаче.

  • Добавить дополнительные блоки Catch в код для перехвата особых типов исключений, которые требуется обработать.

  • Добавьте блок Finally для кода, который требуется выполнить после блоков Try и Catch.

Замена строк

Если код содержит строковое значение, обычно это конкретная строка, например "c:\filename.txt". Эта жестко заданная строка полезна для демонстрационных целей, но вряд ли подойдет для конкретного приложения. К числу возможных источников строк в приложении относятся:

  • Строковая переменная.

  • Метод или свойство, возвращающие строку, например функция InputBox.

  • Строка из элемента управления Windows Forms, например TextBox или ComboBox.

Расположение файлов

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

  • Доступность расположения. Пользователи могут не иметь доступа к каталогу \Program Files на компьютере, поэтому хранение файлов вместе с файлами приложения может быть невозможным.

  • Безопасность расположения. Хранить файлы в корневой папке (c:\) небезопасно. Для хранения данных приложения рекомендуется использовать папку \Application Data. Для хранения данных отдельных пользователей приложение может создать файл для каждого пользователя в папке \Мои документы.

  • Правильность имени файла. Уменьшить вероятность ввода недопустимых имен файлов можно с помощью компонентов Компонент OpenFileDialog (Windows Forms) и Компонент SaveFileDialog (Windows Forms),. Имейте в виду, что между моментом, когда пользователь выбирает файл и моментом, когда код совершает с этим файлом те или иные операции, файл может быть удален. Кроме того пользователь может не иметь разрешений на запись в файл.

Элементы управления и компоненты

Элементы управления и компонентов, упоминаемые в коде, обычно имеют заданное по умолчанию имя, например Button1 или TreeView1. Оно подчеркивает тип отображаемого элемента управления, однако в приложении может использоваться и другое имя.

Отсутствующий код

Некоторые фрагменты содержат только пустые языковые структуры, например блок Try…Catch. Еще один распространенный сценарием — проверочная переменная, например IsValid, которой по умолчанию присваивается значение True. Представленный код будет компилироваться и выполняться, но не будет иметь никакой функциональности. В этих примерах необходимо добавить код, соответствующий конкретной задаче.

Безопасность

Степень безопасности фрагмента зависит от того, где он используется в исходном коде, и как он изменяется после того, как был перенесен в код. Ниже перечислено несколько областей, которые необходимо рассмотреть.

  • Доступ к файлам и базам данных

  • Управление доступом для кода

  • Защита ресурсов (таких как журналы событий, реестр)

  • Хранение секретных сведений

  • Проверка входных данных

  • Передача данных в сценарные технологии

Дополнительные сведения см. в разделах Вопросы безопасности при использовании фрагментов кода и Защита приложений.

См. также

Задачи

Практическое руководство. Вставка фрагментов в код (Visual Basic)

Основные понятия

Фрагменты кода IntelliSense в Visual Basic

Вопросы безопасности при использовании фрагментов кода

Защита приложений

Ссылки

Создание и использование фрагментов кода IntelliSense