は私が達成しようとしているものを示すスニペットです:タイプ<T>の値をバリアントに変換することは可能ですか?ここ
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;
私は型キャストと上記apporachがナイーブであることを知っているが、私はあなたのアイデアを得る願っています。私はそれをいくつかの変換メカニズムで置き換えたいと思います。
TMyObjectは、常にInteger、String、Single、Doubleのような単純型になります。
このような変換の目的は、関数VarTypeが私が他のどこかに格納できる単純な型ごとに整数定数を与えることです。
このような変換が可能かどうかを知りたいですか?
お時間をいただきありがとうございます。
+1、私は、DelphiでのC++のテンプレートの長い間... –
@seth私はあなたがデルファイのユーザーであるかどうかはわかりませんでした。私はいつも中括弧のような男でした! –
私はDelphiをC#のネイティブ実行可能生成バージョンとして使用しています –