首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重构-自动提取方法

重构-自动提取方法
EN

Stack Overflow用户
提问于 2017-09-27 00:37:12
回答 1查看 296关注 0票数 0

我有如下代码:

代码语言:javascript
复制
procedure T.Foo;
var
    bar: Integer;
    bar2: String;
begin
    bar :=  Abs((Round(1.2) + 17) * -1);
    bar2 := IntToStr(bar);
end;

我希望使用"Extract“(Ctrl+Shift+M)提取一个函数,代码如下所示:

代码语言:javascript
复制
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;

不幸的是,当我选择行时:

代码语言:javascript
复制
bar :=  Abs((Round(1.2) + 17) * -1); //Ctrl+Shift+M on this line 

它提出了一个具有var参数的过程:

代码语言:javascript
复制
procedure T.ExtractedMethod(var bar: Integer);
begin
  bar := Abs((Round(1.2) + 17) * -1);
end;

有机会强制使用函数吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 06:57:23

不,Delphi中的提取方法重构总是创建过程。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46437731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档