1 - のオブジェクト インスタンスを作成する予定がない場合は、TStaticDynSettings
次の 3 つの形式のいずれかを使用できます。
type
TStaticDynSettings = class
public
procedure Reload1;
class procedure Reload2;
class procedure Reload3; static;
end;
呼び出しの例:
procedure Call1;
var Instance: TStaticDynSettings;
begin
Instance.Reload1;
end;
procedure Call2;
begin
TStaticDynSettings.Reload2;
end;
procedure Call3;
begin
TStaticDynSettings.Reload3;
end;
違いは、隠し引数がReload1
とReload2
メソッドに渡され、 に渡されないことReload3
です。
隠し引数は、オブジェクトインスタンスへの参照でありReload1
(オブジェクトインスタンスを作成していないため使用されません)、クラス参照ですReload2
(コンパイル時にクラス参照が既知であると仮定すると、おそらく不要です)。
最初の形式 ( Reload1
) は、オブジェクト参照の使用を想定しているため、誤解を招く可能性があるため、回避する必要があります (ただし、機能します)。
Reload3
コンパイル時に不明なクラス参照を使用しない場合は、3 番目の形式 ( ) を使用することをお勧めします。
2 - 違いはありません (最初のケースの場合、不要なオブジェクト変数を使用するオーバーヘッドはカウントされません)。