Bei viel Modularisierung ist es eben nicht nur eine
Unit, sondern vielleicht auch 5.
Das macht sich schon bemerkbar
Ich sehe trotzdem nicht dass das ein Vorteil ist. Damit versteckt man nur vor sich selber wovor die aktuelle
Unit grade abhängig ist.
PS: Ich kann es schon etwas verstehen wenn man den Helper für ein Enum vermisst, darum geht es ja eigentlich. Entweder inkludierst du die
Unit wo der Helper drinsteckt,
oder du verabschiedest dich ganz vom Enum und nimmst stattdessen gleich einen Record der ein Enum kapselt. Deinem Record kannst du nun Methoden verpassen und brauchst keinen Helper mehr. Durch Operator-Überladung kannst du dein altes Enum diesem Record zuweisen und umgekehrt...
Delphi-Quellcode:
type
TMyEnum = (uno, dos, tres);
TMyEnumStruct = record
Value: TMyEnum;
function Next(): TMyEnumStruct;
function Prev(): TMyEnumStruct;
function ToString(): String;
class operator Implicit(a: TMyEnumStruct): TMyEnum;
class operator Implicit(a: TMyEnum): TMyEnumStruct;
end;
und
Delphi-Quellcode:
procedure p();
var
myEnum: TMyEnumStruct;
begin
myEnum := TMyEnum.dos;
myEnum := myEnum.Next();
WriteLn( myEnum.ToString() );
end;