From the XE2 DocWiki :
This occurs when trying to assign a literal value to a generic 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.
, , ; SerialObjectToJSON DeserializeJSONToObject. , , , . TSuperRTTIContext?