Инкапсуляция поля
Обновлен: Ноябрь 2007
Операция оптимизации Инкапсуляция поля позволяет быстро создавать из существующего поля свойство и затем последовательно обновить код, включив в него ссылки на новое свойство.
Если поле имеет модификатор public, то остальные объекты имеют прямой доступ к этому полю и могут изменять его незаметно для объекта, которому принадлежит это поле. Используя свойства для инкапсуляции полей, можно запретить прямой доступ к полям.
Чтобы создать новое поле, операция Инкапсуляция поля заменяет модификатор доступа поля, которое нужно инкапсулировать, на private и затем генерирует для этого поля методы доступа get и set. В некоторых случаях генерируется только метод доступа get, например, если поле объявлено доступным только для чтения.
Подсистема оптимизации обновляет код, включая в него ссылки на новое свойство, в указанных в разделе Обновление ссылокДиалоговое окно "Инкапсуляция поля" местах.
Заметки
Выполнение операции Инкапсуляция поля возможно только в том случае, когда курсор размещен в той же строке, что и объявление поля.
Для объявлений, содержащих объявление нескольких полей, операцией Инкапсуляция поля в качестве разграничителя полей используется запятая. Операция "инкапсуляция поля" запускается в отношении поля, находящегося ближе всего к курсору и в той же строке, что и курсор. Можно также указать поля, которые нужно инкапсулировать, выбрав имя этого поля в объявлении.
Генерируемый этой операцией оптимизации код моделируется функцией фрагментов кода "инкапсуляция кода". Фрагменты кода являются изменяемыми. Дополнительные сведения см. в разделе Практическое руководство. Управление фрагментами кода.
Дополнительные сведения о ситуациях, когда следует использовать поля, а когда — свойства, см. в разделе Процедуры свойств и поля.
См. также
Задачи
Практическое руководство. Оптимизация кода с помощью операции "инкапсуляция поля"