Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Generics


Автор: namervasek 20.10.2010, 17:57
Изучаю Generics в Delphi 2010 и возникли не которые  вопросы...

1)  Есть тип динамического массива 
Код

TDynArray<T> = array of T;

Есть класс с генериком где надо получить TypeInfo этого типа
Код

procedure TSomeClass<T>.Lala;
var
  Info: PTypeInfo;
begin
  Info := TypeInfo(TDynArray<T>);
end;

Но такая конструкция не прокатывает компилятор ругается. Как правильно сделать чтобы работало?

2) Есть строчка  
Код

TByteArray = class(TList<Byte>);. 

Как я понял  здесь обьявляется наследник класса TList<T>  с генериком типа "Byte". И это наследник можно спокойно юзать как массив байтов. 
Я правильно понял это строчку?


Автор: bems 20.10.2010, 18:10
Цитата(namervasek @  20.10.2010,  17:57 Найти цитируемый пост)
Но такая конструкция не прокатывает компилятор ругается. Как правильно сделать чтобы работало?
в ХЕ работает. может баг 2010? Говорили что с дженериками было более 70 фиксов компилятора между 2010 и ХЕ

Цитата(namervasek @  20.10.2010,  17:57 Найти цитируемый пост)
Я правильно понял это строчку?
да

Добавлено через 3 минуты и 16 секунд
Цитата(namervasek @  20.10.2010,  17:57 Найти цитируемый пост)
И это наследник можно спокойно юзать как массив байтов. 
Только не массив а список

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)