Рекомендации по использованию фрагментов кода IntelliSense
Код каждого фрагмента 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. Представленный код будет компилироваться и выполняться, но не будет иметь никакой функциональности. В этих примерах необходимо добавить код, соответствующий конкретной задаче.
Безопасность
Степень безопасности фрагмента зависит от того, где он используется в исходном коде, и как он изменяется после того, как был перенесен в код. Ниже перечислено несколько областей, которые необходимо рассмотреть.
Доступ к файлам и базам данных
Управление доступом для кода
Защита ресурсов (таких как журналы событий, реестр)
Хранение секретных сведений
Проверка входных данных
Передача данных в сценарные технологии
Дополнительные сведения см. в разделах Вопросы безопасности при использовании фрагментов кода и Защита приложений.
См. также
Ссылки
Создание и использование фрагментов кода IntelliSense
Основные понятия
Фрагменты кода IntelliSense в Visual Basic