我的代码如下:
procedure T.Foo;
var
bar: Integer;
bar2: String;
begin
bar := Abs((Round(1.2) + 17) * -1);
bar2 := IntToStr(bar);
end;
我想使用“提取方法”(Ctrl + Shift + M)提取一个函数,代码如下所示:
function T.ExtractedMethod: Integer;
begin
result := Abs((Round(1.2) + 17) * -1);
end;
procedure T.Foo;
var
bar: Integer;
bar2: String;
begin
bar := ExtractedMethod;
bar2 := IntToStr(bar);
end;
不幸的是,当我选择行时:
bar := Abs((Round(1.2) + 17) * -1); //Ctrl+Shift+M on this line
它提出了一个带var参数的程序:
procedure T.ExtractedMethod(var bar: Integer);
begin
bar := Abs((Round(1.2) + 17) * -1);
end;
是否有机会强制使用功能?
答案 0 :(得分:3)
不,Delphi中的Extract Method重构总是创建过程。