Доступ к аргументам процедуры без их имени - PullRequest
0 голосов
/ 06 июня 2018

Даже не уверен, возможно ли это, но подумал, что я бы попросил улей.

В Delphi я знаю, что можно циклически перемещаться по массиву компонентов формы, обращаясь к компонентам «косвенно», есливы не знаете их имени (например, компонентов, которые создаются во время выполнения).

Возможен ли этот же принцип для аргументов процедуры / функции?

По сути, у меня естьпровести рефакторинг большого количества кода для регистрации значений, переданных процедурам, и я пытаюсь найти способ написать что-то общее, что можно скопировать / вставить в метод и не нужно обновлять при изменении списка аргументов.

Например, что-то вроде этих строк:

procedure SomeProcedure(a, b, c:String; i, j, k:Integer);
var
     loopCounter:integer;
begin
     for loopCounter:=low(METHOD_ARGUMENTS???) to high(METHOD_ARGUMENTS???) do
     begin
          log.add(METHOD_ARGUMENTS[loopCounter].name, METHOD_ARGUMENTS[loopCounter].value);
     end;//for
end;//SomeProcedure

, где METHOD_ARGUMENTS - это доступ к «объекту» со списком передаваемых аргументов.

Как я уже сказал, даже неконечно, если это так, но это определенно облегчит жизнь.

Заранее спасибо!

...