在 Visual Studio 工作了几年后,我又回到了 Delphi 2010。我想让 IDE 以不同的方式运行:
当我声明一个函数/过程时,我希望 IDE 的自动完成功能尊重括号。示例:如果我声明过程 x(); 我喜欢自动完成创建过程 myobj.x(); 而不是过程 myobject.x; 就像它一样。是的,这并不重要,但我很迂腐。有任何想法吗?
在 Visual Studio 工作了几年后,我又回到了 Delphi 2010。我想让 IDE 以不同的方式运行:
当我声明一个函数/过程时,我希望 IDE 的自动完成功能尊重括号。示例:如果我声明过程 x(); 我喜欢自动完成创建过程 myobj.x(); 而不是过程 myobject.x; 就像它一样。是的,这并不重要,但我很迂腐。有任何想法吗?
没有参数时,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 ...
说清楚。
AFAIK,没有办法。
当您(如 Ken 所说)没有参数时,Object Pascal 不需要括号 - 所以它是无害的。
PS.:即使是非参数化的例程也需要括号,这是 VS 语言(尤其是 VB.NET)中最讨厌和最烦人的事情之一。当然,这只是恕我直言......