Delphi Compiler Error
E2513 Type parameter ‘%s’ must have one public parameterless constructor named Create
Reason for the Error & Solution
This occurs when a generic type doesn’t have a public parameterless constructor.
program E2513;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TMyClass = class
private
constructor Create();
end;
TMyGenericClass<T: constructor> = class
end;
constructor TMyClass.Create();
begin
//
end;
var
GenObj: TMyGenericClass<TMyClass>;
anObj: TMyClass;
begin
anObj := TMyClass.Create();
Writeln('E2513 Type parameter ''%s'' must have one public parameterless constructor named Create');
end.