может кто-нибудь объяснить мне в чем причина, что при создании общего класса я должен перемещать свои приватные константы в раздел интерфейса? Это убивает мой дизайн, я не хочу, чтобы другие видели то, что должно быть приватным.
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.
Спасибо.