Aquí hay un fragmento que muestra lo que estoy tratando de lograr:Convirtiendo el valor del tipo <T> en Variant, ¿es posible?
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;
Sé que apporach anterior con encasillado es ingenuo, pero espero que se entiende la idea. Me gustaría reemplazarlo con algún mecanismo de conversión.
TMyObject siempre será de tipo simple como Integer, String, Single, Double.
El propósito de tal conversión es que la función VarType me da una constante entera para cada tipo simple que puedo almacenar en otro lugar.
Me gustaría saber si tal conversión es posible?
Gracias por su tiempo.
1, I de largo para las plantillas de C++ en Delphi ... –
@seth No sabía que eras un usuario de delphi. ¡Siempre te tenía como un tipo de llaves! –
Normalmente, pero no exclusivamente. Utilizo Delphi como una versión generadora de ejecutables nativos de C# (no puede soportar ser capaz de usar el ensamble en línea) y me gusta mucho. –