微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

delphi2010中的错误行为/错误“提取方法”

当我尝试在if语句中提取一个方法时,我正面临这个问题.我无法找到任何报告的错误.
procedure TForm1.BitBtn3Click(Sender: TObject);
var
  x: integer;
  b: boolean;
begin
  if true then
    x := 8    //********************** i try to extract this line
  else
    x := 6;

  showmessage(inttostr(x));
end;

我得到的结果是:

procedure TForm1.BitBtn3Click(Sender: TObject);
var
  x: integer;
  b: boolean;
begin
  if true then
    newMethode
  else
    x := 6;

  showmessage(inttostr(x));
end;

而新的Methode是:

procedure TForm1.newMethode;
var
  x: Integer;
begin
  x := 8;
end;

任何人都可以检查Delphi XE上的行为是什么?有谁知道是否有报道?

解决方法

这是“提取方法”重构中的一个错误.

作为替代方案,您可能希望使用ModelMaker Code Explorer重构工具中的“提取方法”重构. 99欧元,这是一个relatively cheap工具,从Delphi 5开始工作,而recent 9.0.5 updates大大改进了他们的Extract Method重构,以至于我已经很长时间没有使用Delphi内置的了.

两大好处:

>它启动方法编辑器对话框,您可以在其中更改和重新排序参数,然后将这些参数反映在提取调用代码
>它会将原始代码保留在(* *)注释中,以防万一发生故障,或者您需要引用它

此外,它还在代码中放置书签(编号为7,8和9),以便在提取代码和呼叫站点之间轻松导航.

强烈推荐.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐