System.Rtti.TInterceptBeforeNotify

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

TInterceptBeforeNotify = reference to procedure(Instance: TObject;
Method: TRttiMethod; const Args: TArray<TValue>; out DoInvoke: Boolean;
out Result: TValue);

C++

__interface TInterceptBeforeNotify  : public System::IInterface

プロパティ

種類 可視性 ソース ユニット
anonMethod
class
public
System.Rtti.pas
System.Rtti.hpp
System.Rtti System.Rtti

説明

System.Rtti.TVirtualMethodInterceptor.OnBefore イベント ハンドラ手続きの型です。

TInterceptBeforeNotify を使用すると、継承したメソッドを呼び出さないよう OnBefore イベント ハンドラを実装することができます。

DoInvokeFalse に設定すると、継承した仮想メソッドが呼び出されなくなります。True に設定すると(デフォルト)、呼び出しが行われます。

Args は、仮想メソッドに渡された引数のリストです。

この配列の Values を変更すると、継承した実装に渡された引数を変更することができます。

Method は、インスタンスに対して呼び出された仮想メソッドに対応する RTTI オブジェクトです。

DoInvoke を False に設定した場合(継承した実装が使用されない)、Result にはメソッドに要求される戻り値を設定しなければなりません。 そのデフォルト値は TValue.Empty であり、これは 0、nil、''、または戻り値型に対応する空の値に変換されます。

Instance は、仮想メソッドが呼び出された先のインスタンスです。

関連項目