Aber warum nicht einfach ILoggerHelper = interface(ILogger)
?
Und, wie bekomm ich dann die Methoden von ILoggerHelper aufgerufen, wenn ich nur ILogger implementiere?
Ja, Dekorator bauen, etc... aber darum gehts nicht.
Außerdem könnte ich, wären die helper vernünftig implementiert auch mehrere gleichzeitig aktiv haben, mach das mal mit Vererbung
Eine mögliche Syntax die ich mir auch vorstellen könnte wäre sowas (woher ich das wohl habe...):
Code:
procedure EnterMethod(extends logger: ILogger; const methodName: string);
Und die kann man dann so aufrufen:
Code:
logger.EnterMethod('foo')
Simpler Syntaxzucker also. Und wenn ich das gerade richtig überblicke dürften dort auch alle Regeln von normalen Routinen (sprich, welche Methode ist im Scope, Overload resolution etc) greifen.