2009-04-27 3 views
3

Можно вывести класс из специализированного универсального типа:Выведите из специализированных универсальных типов

TGenericBase <T> = class 
    // ... 
end; 

TSpecializedDerived = class (TGenericBase <String>) 
    // ... 
end; 

Просто интересно, если это вообще возможно ...

EDIT код работает отлично Я положил его в новый проект. Должно быть из-за какой-то другой ошибки; жаль об этом

+1

Что произошло, когда вы ввели это в Delphi и скомпилировали? –

+0

Я получил внутреннюю ошибку в конце производного класса. Я сейчас не работаю, но завтра я уточню вопрос. – jpfollenius

+1

Хорошо, я извлек соответствующую часть в новый проект, и он компилируется отлично ... Наверное, я должен извиниться ... ошибка должна быть где-то в другом месте, хотя компилятор указывает, что внутренняя ошибка возникает именно в этой позиции. .. – jpfollenius

ответ

5

Да. Я делаю это все время. Это очень полезно. Один из моих любимых трюков выглядит примерно так:

TSpecializedList = class(TObjectList<TMyType>) 
public 
(extra methods specific to handling TMyType objects) 
end; 
Смежные вопросы