Я пытаюсь реализовать clear в следующем примере кода в Delphi 2009.
interface
...
TFoo<T : IInterface> = class(TObject)
FField : T;
procedure Clear;
end;
...
implementation
...
procedure TFoo<T>.Clear;
begin
// Line Below Results In
// E2010 Incompatible types: 'T' and 'Pointer'
FField := nil;
end;
...
Я мог бы понять ошибку времени компли, если «Т» не был ограничен.
Но так как «T» должен быть интерфейсом, я бы подумал, что этот синтаксис будет иметь
работал.
Можно ли установить FField на NIL, чтобы интерфейс мог быть освобожден?