System.Rtti.TInterceptBeforeNotify
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 イベント ハンドラを実装することができます。
DoInvoke を False に設定すると、継承した仮想メソッドが呼び出されなくなります。True に設定すると(デフォルト)、呼び出しが行われます。
Args は、仮想メソッドに渡された引数のリストです。
この配列の Values を変更すると、継承した実装に渡された引数を変更することができます。
Method は、インスタンスに対して呼び出された仮想メソッドに対応する RTTI オブジェクトです。
DoInvoke を False に設定した場合(継承した実装が使用されない)、Result にはメソッドに要求される戻り値を設定しなければなりません。 そのデフォルト値は TValue.Empty であり、これは 0、nil、''、または戻り値型に対応する空の値に変換されます。
Instance は、仮想メソッドが呼び出された先のインスタンスです。