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
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
anonMethod class |
public | System.Rtti.pas System.Rtti.hpp |
System.Rtti | System.Rtti |
Beschreibung
Typ der Ereignisbehandlungsroutine System.Rtti.TVirtualMethodInterceptor.OnBefore.
Mit TInterceptAfterNotify implementieren Sie die Ereignisbehandlungsroutine OnBefore, um den Aufruf einer geerbten Methode zu verhindern.
Setzen Sie DoInvoke
auf False, um den Aufruf der geerbten virtuellen Methode zu verhindern, oder setzen Sie DoInvoke
auf True (Vorgabe), um den Aufruf zuzulassen.
Args
ist die Liste der an die virtuelle Methode übergebenen Argumente.
Values
in diesem Array können bearbeitet werden, um die an die geerbte Implementierung übergebenen Argumente zu ändern.
Method
ist das RTTI-Objekt, das zu der für die Instanz aufgerufenen virtuellen Methode gehört.
Wenn DoInvoke
auf False gesetzt ist (damit die geerbte Implementierung unterdrückt wird), sollte Result
auf den gewünschten Rückgabewert der Methode gesetzt werden. Der Standardwert ist TValue.Empty, was in 0, nil, '' oder den entsprechenden leeren Wert des Rückgabetyps umgewandelt wird.
Instance
ist die Instanz, für die eine virtuelle Methode aufgerufen wurde.