有没有办法以编程方式评估宏?

Is there a way to programmatically evaluate a macro?

例如,让我们以这段代码为例:

Method m()
{
    $$$someMacro
}

或者:

Method m(foo as whatever)
{
   $$$otherMacro(foo)
}

假设我可以从上面的代码示例中提取 someMacrootherMacro,有没有办法以编程方式扩展它们?

没有。宏只能在编译时解析。由于宏扩展成什么可能取决于代码宏的放置位置,因此您无法在没有上下文的情况下扩展一个宏。