Вот фрагмент, показывающий, чего я пытаюсь достичь:
type
TMyObject<T> = class (TObject)
function GetVarType(Value: T): TVarType;
end;
function TMyObject<T>.GetVarType(Value: T): TVarType;
var
TmpValue: Variant;
begin
TmpValue := Variant(Value); //Invalid typecast
Result := VarType(TmpValue);
end;
Я знаю, что вышеизложенное с typecast наивно, но я надеюсь, что вы поняли. Я хотел бы заменить его некоторым механизмом преобразования.
TMyObject всегда будет иметь простой тип, такой как Integer, String, Single, Double.
Целью такого преобразования является то, что функция VarType дает мне целочисленную константу для каждого простого типа, которую я могу хранить где-то еще.
Я хотел бы знать, возможно ли такое преобразование?
Спасибо за ваше время.