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


WriteOnly (Visual Basic)

Указывает, что свойство может быть записано, но не прочитано.

Заметки

Правила

Контекст объявления. Можно использовать зарезервированное слово WriteOnly только на уровне модуля.Это означает, что контекст объявления для свойства WriteOnly должен быть классом, структурой или модулем и не может быть исходным файлом, пространством имен или процедурой.

Можно объявить свойство как WriteOnly, но нельзя как переменную.

Использование WriteOnly

Иногда требуется, чтобы код устанавливал значение, но не открывал его.Например, конфиденциальные данные, такие как социальный регистрационный номер или пароль, необходимо защитить от доступа любого компонента, который не устанавливал их.В этих случаях для установки значения можно использовать свойство WriteOnly.

Примечание о безопасностиПримечание по безопасности

При определении и использовании свойства WriteOnly необходимо учитывать следующие дополнительные защитные меры.

  • Переопределение. Если свойство является членом класса, определите его по умолчанию NotOverridable (Visual Basic), не объявляйте его как Overridable или MustOverride.Это предотвращает нежелательный доступ с помощью переопределения в производном классе.

  • Уровень доступа. Если важные данные свойства хранятся в одной или нескольких переменных, объявите их Private (Visual Basic), чтобы другой код не имел к ним доступа.

  • Шифрование. Все конфиденциальные данные следует хранить в зашифрованном виде, а не в виде обычного текста.Если вредоносный код каким-либо образом получает доступ к этой области памяти, для него будет сложнее использовать данные.Шифрование полезно также при сериализации конфиденциальных данных.

  • Сброс. Когда класс, структура или модуль, определяющие свойство, завершаются, следует присвоить конфиденциальным данным значения по умолчанию или другие не имеющие смысла значения.Это обеспечивает дополнительную защиту при освобождении области памяти для общего доступа.

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

Модификатор WriteOnly можно использовать в следующем контексте.

Оператор Property

См. также

Ссылки

ReadOnly (Visual Basic)

Private (Visual Basic)

Другие ресурсы

Ключевые слова (Visual Basic)