Delphi Compiler Error
E2506 Method of parameterized type declared in interface section must not use local symbol ‘%s’
Reason for the Error & Solution
This happens when trying to assign a literal value to a generics data field.
program E2506;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TRec<T> = record
public
class var x: Integer;
class constructor Create;
end;
class constructor TRec<T>.Create;
begin
x := 4; // <-- e2506 Fix: overload the Create method to take one parameter x and assign it to the x field.
end;
begin
Writeln('E2506 Method of parameterized type declared in interface section must not use local symbol');
end.