E2506 interface セクションで宣言されたパラメータ化型のメソッドはローカル シンボル '%s' を使用できません(Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(Delphi) への移動


このエラーは、リテラル値をジェネリックスのデータ フィールドに代入したときに発生します。

 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.