¿podría alguien explicarme ¿cuál es el motivo que al crear una clase genérica debo mover mis constantes privados a la sección de interfaz? Esto está matando mi diseño, no quiero que otros vean algo que debería ser privado.E2506 Método de tipo parametrizado declarado en la sección de interfaz no debe utilizar el símbolo local
unit Unit38;
interface
uses
Generics.Collections;
type
TSimpleClass<T> = class(TObject)
private
procedure DoSomethingInternal(const SomeString: string);
public
procedure DoSomething;
end;
implementation
const
MyString = 'some string'; //Why this must be public?
{ TSimpleClass<T> }
procedure TSimpleClass<T>.DoSomething;
begin
DoSomethingInternal(MyString); //Compiler error
end;
procedure TSimpleClass<T>.DoSomethingInternal(const SomeString: string);
begin
//-------
end;
end.
Gracias.
Gracias Marjan. – Wodzu
Tenga en cuenta que [QualityCentral ahora se ha cerrado] (https://community.embarcadero.com/blogs/entry/quality-keeps-moving-forward), por lo que ya no puede acceder a los enlaces 'qc.embarcadero.com' . Si necesita acceder a datos antiguos de control de calidad, consulte [QCScraper] (http://www.uweraabe.de/Blog/2017/06/09/how-to-save-qualitycentral/). –