4

在 Visual Studio 工作了几年后,我又回到了 Delphi 2010。我想让 IDE 以不同的方式运行:

当我声明一个函数/过程时,我希望 IDE 的自动完成功能尊重括号。示例:如果我声明过程 x(); 我喜欢自动完成创建过程 myobj.x(); 而不是过程 myobject.x; 就像它一样。是的,这并不重要,但我很迂腐。有任何想法吗?

4

2 回答 2

1

没有参数时,Delphi 不需要括号;我怀疑这是可能的。

在接口或实现中无关紧要,它是方法声明的事实很清楚。

function TMyClass.IsDefaultPropValue: Boolean;

我可以看到它在调用该方法的实际代码中的哪些方面很重要,您想在哪里澄清它不是一个变量,如

// Unit MyClass
type
  TMyClass=class(TSomething)
  public
    function IsDefaultPropValue: Boolean;
  end;

// In a far distant block  of code in another unit that uses the above unit, using the
// nasty "with" (not you, of course - one of your coworkers):
with MyClassInstance do
begin
  // More lines of code. FirstPass is a local boolean variable.
  if FirstPass then
  begin
    if IsDefaultPropValue then
    begin
      // More lines of code
    end
    else
    begin
      // Alternate branch of code 
    end;
  end
  else
  begin
    if IsDefaultPropValue then
    //.....
  end;
end;

在这种情况下,不清楚这IsDefaultPropValue是一个函数而不是一个布尔变量,我将它用作

if IsDefaultPropertyValue() then ... 

// or better yet: 
if MyClassInstance.IsDefaultPropValue() then ...

说清楚。

于 2011-10-26T20:48:12.777 回答
0

AFAIK,没有办法。

当您(如 Ken 所说)没有参数时,Object Pascal 不需要括号 - 所以它是无害的。

PS.:即使是非参数化的例程也需要括号,这是 VS 语言(尤其是 VB.NET)中最讨厌和最烦人的事情之一。当然,这只是恕我直言......

于 2011-10-26T20:35:55.513 回答