procedure method; static; inline;
end;
TMyClass<T> = class
R: T;
procedure proc;
end;
procedure TMyClass<T>.proc;
begin
R.method(); // E2003 Undeclared identifier: 'method'
end;
class procedure TRec.method;
begin
end;
begin
end.
А как в Delphi это повторить? 🤔
Привести R к типу TRec. PRec = ^TRec; PRec(@R).Method(); Но если T <> TRec то будет av
Капец печально😁, это нарушение какого-то принципа, когда реализация не должна знать ничего о том, кто и как реализовывать будет
в делфе женерики проще чем в FPC, что уж поделать
Можно.if typeinfo(t) = typeinfo(trec) then
во, теперь я понял, почему у меня голова перестала соображать: я весь день читаю твой код и пытаюсь понять, что он преследует :)
удаление mov r,m & call+ret
Я писал выше про дженерики vs шаблоны, про компилтайм полиморфизм, @Rudeus_Ino про структурную типизацию вроде писал. Ты хочешь именно это. И именно этого в Дельфи как раз нет.
Обсуждают сегодня