Ver Mensaje Individual
  #7  
Antiguo 28-06-2022
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Esa solución esta muy compleja!

La manera mas simple e idiomática en todos los lenguajes que usan generics es pasar una interface/protocolo (no tengo Delphi a la mano así que...):

Código Delphi [-]
type
   // Una Interface para convertir a String
   IString = Interface(IInterface)
     function IntoString : String;
   end;

function split< T: IString > (const S: string; const Separator: array of char): TArray< T >
begin
    //Codigo...
    item.IntoString() // Aqui obtienes el valor como un String!
end


// O pasa una function como convertidor
type TIntoString= reference to function< T >(inputValue: T): String;

function split_f< T > (const S: string; const Separator: array of char, convert: TIntoString< T >): TArray< T >
begin
    //Codigo...
    TIntoString (item) // Aqui obtienes el valor como un String!
end
__________________
El malabarista.

Última edición por mamcx fecha: 28-06-2022 a las 17:53:19.
Responder Con Cita