// script "test ClassA.cs"
/*/ c \ClassA.cs; /*/
string inp = "Hi";
string S1 = "hello world";
int I1 = 888;
string[] AS1 = { "hello", "world" };
ClassA.FuncA(inp, [S1, I1, AS1]);
// class "ClassA.cs"
public class ClassA
{
public static void FuncA(string inp, object[] args, [CallerArgumentExpression("args")] string e_ = null)
{
print.it(inp);
//print.it(e_);
var k = e_[1..^1].Split(',', StringSplitOptions.TrimEntries);
for (int i = 0; i < args.Length; i++) {
print.it($"{k[i]} = {args[i]}");
//print.it($"{k[i]} = {print.util.toString(args[i], true)}"); //this also prints array element etc, like print.it
}
}
}
It is the only possible way. With params not possible.