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


Инкапсуляция поля

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

Операция оптимизации Инкапсуляция поля позволяет быстро создавать из существующего поля свойство и затем последовательно обновить код, включив в него ссылки на новое свойство.

Если поле имеет модификатор public, то остальные объекты имеют прямой доступ к этому полю и могут изменять его незаметно для объекта, которому принадлежит это поле. Используя свойства для инкапсуляции полей, можно запретить прямой доступ к полям.

Чтобы создать новое поле, операция Инкапсуляция поля заменяет модификатор доступа поля, которое нужно инкапсулировать, на private и затем генерирует для этого поля методы доступа get и set. В некоторых случаях генерируется только метод доступа get, например, если поле объявлено доступным только для чтения.

Подсистема оптимизации обновляет код, включая в него ссылки на новое свойство, в указанных в разделе Обновление ссылокДиалоговое окно "Инкапсуляция поля" местах.

Заметки

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

Для объявлений, содержащих объявление нескольких полей, операцией Инкапсуляция поля в качестве разграничителя полей используется запятая. Операция "инкапсуляция поля" запускается в отношении поля, находящегося ближе всего к курсору и в той же строке, что и курсор. Можно также указать поля, которые нужно инкапсулировать, выбрав имя этого поля в объявлении.

Генерируемый этой операцией оптимизации код моделируется функцией фрагментов кода "инкапсуляция кода". Фрагменты кода являются изменяемыми. Дополнительные сведения см. в разделе Практическое руководство. Управление фрагментами кода.

Дополнительные сведения о ситуациях, когда следует использовать поля, а когда — свойства, см. в разделе Процедуры свойств и поля.

См. также

Задачи

Практическое руководство. Оптимизация кода с помощью операции "инкапсуляция поля"

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

Оптимизация

Фрагменты кода (C#)