Главная » Delphi » Delphi 2006 – Перемещение поля внутрь класса (Introduce Field/Variable)

0

Удобное средство быстрого создания нового элемента класса непосредственно из тела какого-либо метода позволяет вести кодирование, не перемещаясь многократно к описанию класса и обратно к операторам, реализующим его методы. Для этого сначала надо выделить какое-либо выражение в коде. Например, в таком обработчике:

procedure TWinForm.Buttonl_Click(sender: System.Object; e: System.EventArgs); var x,y: Integer; begin

X := 10;

у := x*2 + 5; end;

мы хотим взять выражение х*2 + 5 и присвоить его новому полю класса TWinForm. Для этого выражение выделяется в редакторе и дается команда Refactor > Introduce Field (Рефакторинг > Создать поля), в диалоговом окне указывается название нового поля (Name), будет ли оно статичным (флажок Static) и его видимость (раскрывающийся список Visibility со спецификаторами public, private и тому подобными). Если, допустим, указать название нового поля MyFId, то после нажатия на кнопку ОК код изменится так:

procedure TWinForm.Buttonl_Click(sender: System.Object; e: System.EventArgs); var x,y: Integer; begin

X := 10;

Self.MyFId := x*2 + 5;

у := MyFId; end;

А в описание класса TWinForm добавится новое поле:

public var

MyFId: integer;

Если вместо команды Refactor > Introduce Field (Рефакторинг > Создать поле) дать команду Refactor > Introduce Variable (Рефакторинг > Создать переменную), то аналогично будет создана локальная переменная в пределах ближайшей процедуры или метода.

Перемещение описания между классами (Move)

Этот мощный и ресурсоемкий прием позволяет переместить статический член класса в другой класс, или сам класс — в другое пространство имен. Для этого курсор устанавливается на соответствующем идентификаторе и дается команда Refactor > Move (Рефакторинг > Переместить), после чего в диалоговом окне указывается (выбирается в дереве) либо новое пространство имен, либо нужный целевой класс.

Бобровский С. И. Технологии Delphi 2006. Новые возможности. — СПб.: Питер, 2006. — 288 е.: ил.

По теме:

  • Комментарии