Поскольку мой вопрос из вчера был, возможно, не совсем ясен, и я не получил ответ, который хотел, я попытаюсь сформулировать его более общим образом:
Есть ли способ реализовать специальное поведение, основанное на фактическом типе типизированного типичного типа, либо с использованием условных условных операторов, либо с помощью какой-то специализации? Псевдокод:
TGenericType <T> = class
function Func : Integer;
end;
...
function TGenericType <T>.Func : Integer;
begin
if (T = String) then Exit (0);
if (T is class) then Exit (1);
end;
...
function TGenericType <T : class>.Func : Integer;
begin
Result := 1;
end;
function TGenericType <String>.Func : Integer;
begin
Result := 0;
end;