0
我有这样的代码如下:重构 - 自动提取方法的功能
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;
是否有机会强制使用函数?
不,不幸的不是。 *提取方法*仅生成var params的过程。是我想要改变多年的东西。 –