在free pascal中用两个宏创建一个类型名称

时间:2015-05-12 15:36:56

标签: macros freepascal

在Pascal中,您可以使用宏来更改类型的名称。当您想要使用include作为模板时,这非常有用。 CustomList.inc:

TCustomList = class
  ...
  property Items[ Index: Integer ]: TCustomItem read GetItems; default;
end;

TCustomListEnumerator = class     
  ...

现在我必须使用上面列表中的定义更改每个名称:

{$MACRO ON}
{$DEFINE TCustomList:= TTestItemList}
{$DEFINE TCustomItem:= TTestItem}
{$DEFINE TCustomListEnumerator:= TTestItemListEnumerator}
{$INCLUDE CustomList.inc}

以某种方式可以将两个宏粘贴到一个类型标识符上吗?

{$MACRO ON}
{$DEFINE TCustomItem:= TTestItem}
{$INCLUDE CustomList.inc}

CustomList.inc:

{$DEFINE TCustomList:= TCustomItem + List}
{$DEFINE TCustomListEnumerator:= TCustomItem + ListEnumerator}
...

上面的列表被解释为TTestItem + List而不是TTestItemList。有没有办法将一些后缀附加到宏?

0 个答案:

没有答案