System.Variants.TCustomVariantType.RightPromotion
Delphi
function RightPromotion(const V: TVarData; const Operator: TVarOp;
out RequiredVarType: TVarType): Boolean; virtual;
C++
virtual bool __fastcall RightPromotion(const TVarData &V, const int Operator, /* out */ System::Word &RequiredVarType);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | protected | System.Variants.pas System.Variants.hpp |
System.Variants | TCustomVariantType |
Beschreibung
Gibt an, ob das rechte Argument einer binären Operation in einen anderen Typ umgewandelt werden soll.
Durch Überschreiben von RightPromotion können Sie angeben, ob das rechte Argument einer Binäroperation vor der Operation explizit in einen anderen Typ umgewandelt werden soll. RightPromotion wird automatisch aufgerufen, wenn das rechte Argument einer Binär- oder Vergleichsoperation den Typ Variant hat.
Anmerkung: In Operationen mit zwei benutzerdefinierten Varianten wird zuerst die Methode RightPromotion des linken Arguments aufgerufen. Die MethodeLeftPromotion des rechten Arguments wird anschließend nur aufgerufen, wenn RightPromotion den Wert false zurückgibt.
V ist ein Record (TVarData) mit den Daten des linken Arguments.
Operator gibt die Art der Operation an. Der Parameter kann einen der folgenden Werte annehmen:
Wert | Operation |
---|---|
opAdd |
Addition |
opSubtract |
Subtraktion |
opMultiply |
Multiplikation |
opDivide |
Gleitkommadivision |
opIntDivide |
Ganzzahlige Division |
opModulus |
Rest |
opShiftLeft |
Bitweise nach rechts schieben |
opShiftLeft |
Bitweise nach rechts schieben |
opAnd |
Bitweises and |
opOr |
Bitweises or |
opXor |
Bitweises X-Oder |
opCompare |
Beliebige Vergleichsoperation |
RequiredVarType gibt den Typcode des Variant-Typs zurück, in den das rechte Argument vor der Operation umgewandelt werden soll. Kann die Operation ohne Typkonvertierung durchgeführt werden, wird in RequiredVarType das Feld VType des Parameters V zurückgegeben.
RightPromotion gibt true zurück, wenn die Operation (mit der Methode BinaryOp, CompareOp oder Compare) durchgeführt und das rechte Argument in RequireVarType konvertiert werden kann. Andernfalls wird false zurückgegeben.
In TCustomVariantType gibt RightPromotion den Wert der Eigenschaft VarTypein RequiredVarType und den Rückgabewert true zurück.