Delphi有这个列表:Delphi内在例程
但该列表不完整.
哪些无证的内在函数存在,因为它们的目的何时和目的是什么?
我正在尝试将类型T
为的泛型变量转换为string
.
TMyTest = class
class function GetAsString<T>(const AValue : T) : string; static;
end;
...
uses
System.Rtti;
class function TMyTest.GetAsString<T>(const AValue : T) : string;
begin
Result := TValue.From<T>(AValue).ToString();
end;
Run Code Online (Sandbox Code Playgroud)
它使用多种类型(如Integer
, Double
, Boolean
...)效果很好,但使用Variant
变量“失败” 。
procedure TForm1.FormCreate(Sender: TObject);
var
Tmp : Variant;
begin
Tmp := 123;
ShowMessage(TMyTest.GetAsString<Variant>(Tmp));
end;
Run Code Online (Sandbox Code Playgroud)
它产生以下输出:
(变体)
我期待该VarToStr
函数获得相同的输出(但我不能将该函数与通用变量一起使用):
123