有没有办法以编程方式评估宏?
Is there a way to programmatically evaluate a macro?
例如,让我们以这段代码为例:
Method m()
{
$$$someMacro
}
或者:
Method m(foo as whatever)
{
$$$otherMacro(foo)
}
假设我可以从上面的代码示例中提取 someMacro
和 otherMacro
,有没有办法以编程方式扩展它们?
没有。宏只能在编译时解析。由于宏扩展成什么可能取决于代码宏的放置位置,因此您无法在没有上下文的情况下扩展一个宏。
例如,让我们以这段代码为例:
Method m()
{
$$$someMacro
}
或者:
Method m(foo as whatever)
{
$$$otherMacro(foo)
}
假设我可以从上面的代码示例中提取 someMacro
和 otherMacro
,有没有办法以编程方式扩展它们?
没有。宏只能在编译时解析。由于宏扩展成什么可能取决于代码宏的放置位置,因此您无法在没有上下文的情况下扩展一个宏。