例如,让我们采用以下代码:
Method m()
{
$$$someMacro
}
或:
Method m(foo as whatever)
{
$$$otherMacro(foo)
}
如果我可以从上面的代码示例中提取someMacro
和otherMacro
,有没有办法以编程方式扩展它们?
No.宏只能在编译时解析。由于宏扩展成什么可能取决于代码宏在代码中的位置,因此无法在没有上下文的情况下展开一个宏。