Я пытаюсь создать универсальный класс под delphi под названием TRange. Идея состоит в том, что это может быть Range of Integer или диапазон сингла или Double и т. Д.
Объект TRange содержит несколько переменных типа T (maxValue, minValue, idealValue и т. Д.). TRange содержит функцию для каждого из них, чтобы преобразовать их в строку. Однако, поскольку Delphi является языком со строгой типизацией, мне нужно указать «How-To» для преобразования различных переменных в строку.
Я могу получить typeName типа T с помощью GetTypeName (TypeInfo (T)). Узнав, какой тип T, я подумал, что могу сделать что-то вроде:
if(className = 'single') then
result := formatFloat('0.0', self.AbsMin as Single)
else
result := intToStr(self.AbsMin as Integer)
Однако компилятор говорит мне: «Оператор не применим к этому типу операнда».
Итак, я думаю, мой вопрос:
Есть ли способ придать специфичность универсальному классу ???