12
我想實現在下面的示例代碼清楚德爾福2009年接口與泛型 - 設置爲NIL
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;
...
我能理解complie時間錯誤,如果「T」並沒有限制。 但是由於「T」必須是一個接口,我會認爲這個語法會有 工作。
是否有將FField設置爲NIL,因此界面可以被釋放?
D2009中泛型有很多問題。它們中的大多數應該在下一次更新中解決,只要它出來。看起來這是其中之一。嘗試將其報告給QC,在此之前,此解決方案可能是您最佳的解決方法。 – 2009-05-25 17:38:49