In einer der Delphi-Demoanwendungen bin ich über eine Syntax gestolpert, von der ich nicht wusste, dass der Delphi-Compiler sie akzeptiert:
// ......\Demos\DelphiWin32\VCLWin32\ActiveX\OleAuto\SrvComp\Word\
// Main.pas, line 109
Docs.Add(NewTemplate := True); // note the assignment
Ich kann diese Art der Parameterübergabe in meinem eigenen Code nicht nachvollziehen, und ich sehe auch niemanden, der sie verwendet. Dies sind also meine Fragen:
-
Kann ich dies in "normalen" Methoden verwenden und ist es Teil der "Delphi-Sprache", oder ist dies einige Compiler-Hack für Automatisierung Objekte?
-
Was ist erforderlich, um dies zu nutzen?
-
Ist dies etwas wie die benannten und optionalen Parameter von C#4?
Zusätzliche Informationen: Ich übergebe normalerweise Datensätze oder einfache Klassen, wenn es viele optionale Parameter für Methoden gibt, aber es sieht so aus, als würde ich mit dieser Syntax nicht nötig. Ich bin mir bewusst von Standard-Parameterwerten, aber ihre Nützlichkeit ist begrenzt, weil man keine Parameter rechts neben einem rechts von einem ausgelassenen Parameter. In JavaScript verwende ich diesen Stil der benannten Parameter die ganze Zeit (sei es mit verschiedenen Syntax), und es ist mächtig.