我有如下代码:
procedure T.Foo;
var
bar: Integer;
bar2: String;
begin
bar := Abs((Round(1.2) + 17) * -1);
bar2 := IntToStr(bar);
end;我希望使用"Extract“(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;有机会强制使用函数吗?
发布于 2017-09-27 06:57:23
不,Delphi中的提取方法重构总是创建过程。
https://stackoverflow.com/questions/46437731
复制相似问题