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 イベント ハンドラを実装することができます。

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

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

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

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

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

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

関連項目