即使对于空参数列表,如何使类完成包括括号?

时间:2011-10-26 20:17:49

标签: delphi ide class-completion

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

当我声明一个函数/过程时,我希望IDE的自动完成遵守括号。示例:如果我声明过程x();我喜欢自动完成以创建过程myobj.x(); 和NOT 过程myobject.x; 。是的,这并不重要,但我很迂腐。有什么想法吗?

2 个答案:

答案 0 :(得分: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 ...

说清楚。

答案 1 :(得分:0)

AFAIK,没办法。

对象Pascal不需要括号(如Ken所说)没有参数 - 所以它是无害的。

PS:即使对于非参数化例程,也需要括号是VS语言中最令人烦恼和烦恼的事情之一(特别是在VB.NET中)。当然,这只是恕我直言......