Есть ли способ, что я могу типаж родовое переменную любого другого типа, как Variant
и т.д.
Как указано в моем ответе на вопрос Вы связываетесь, тип вариант, который хорошо работает с дженериков является TValue
. Вы можете сделать TValue
экземпляр из общего типа с использованием метода: From
procedure TMyClass.Foo<T>(const Item: T);
var
Value: TValue;
begin
Value := TValue.From<T>(Item);
end;
Как я могу передать общий тип в функции, которые принимают array of const
?
Это тот же вопрос, который задавали в question you linked to. Ответ такой же, как указано там, а именно, что вы не можете передать общий аргумент как variant open array parameter. Опять же, TValue
на помощь. Вместо использования параметра открытого массива используйте открытый массив TValue
.
Суть здесь в том, что тип вариант, который хорошо работает с обобщениями, и поставляется вместе с Delphi RTL, является TValue
.
Привет, Джон, в идеале вы задали бы два вопроса: –
оба вопроса связаны, поэтому я спросил их здесь не отдельно. –
Вы уже связали ответ на вопрос 2 или я что-то пропустил? –