Перейти к содержанию
Fire Monkey от А до Я
  • 0

Определение типа


rareMax

Вопрос

Допустим у меня есть прототип такой функции:

  TArrayX = Class
    Function Generate<T>(Length: Integer): TArray<T>;
  End;

Можно ли что бы в зависимости от того, какой тип передается в <T> я мог заполнять массив Result значениями типа <T>? 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

так, по факту, там уже массив значений типа T

Function TArrayX.Generate<T>(Length: Integer): TArray<T>;
begin
  setLength(Result,Length);
end;

проблема понять, что такое можно вписывать в неизвестный заранее тип

Ссылка на комментарий
  • 0

Я просто думал сделать некий универсальный хелпер для массивов. Например нужен массив случайных целых и дробных чисел. Допустим вызывать их будем так:

//Function TArrayX.Generate<T>(Length: Integer): TArray<T>;
var
  x: TArray<Integer>;
  y: TArray<Double>;
begin
  x := Self.Generate<Integer>(100);
  y := Self.Generate<Double>(100);
end;

Казалось бы все легко. Но для заполнения случайными значениями нужно знать тип передаваемый в аргументе(Integer или Double?). Вот с этим и проблема. 

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...