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

私の知る限り、方法はありません。

(Ken が言ったように) パラメータがない場合、Object Pascal は括弧を必要としません。つまり、無害です。

PS .: パラメーター化されていないルーチンであっても括弧が必要であることは、VS 言語 (特に VB.NET) で最も厄介で厄介なことの 1 つです。もちろん、それは単なる私見です...

于 2011-10-26T20:35:55.513 に答える