获取#define变量列表

Hex*_*exo 5 c# c-preprocessor

即使由于#define作为预处理器指令而应该是不可能的,我想问:

是否有可能获得#define实际程序中的'd变量列表?分别是项目属性中定义的条件编译符号列表.

我为什么需要那个? 我正在使用符号来管理扩展.我正在尝试获取它们的列表,将它们添加到我的窗口中

Enabled Extensions:
CUSTOMER1_ABC_EXTENSION
CUSTOMER2_XYZ_EXTENSION
Run Code Online (Sandbox Code Playgroud)

无需为每个扩展编写特定代码.

Hex*_*exo 1

使用解决了它

public static class BuildVariables
{
    public static List<string> DefinedVariables = new List<string>()
    {
        #if CUSTOMER1_ABC_EXTENSION
        "CUSTOMER1_ABC_EXTENSION",
        #endif
        #if CUSTOMER2_XYZ_EXTENSION
        "CUSTOMER2_XYZ_EXTENSION",
        #endif
    };
}
Run Code Online (Sandbox Code Playgroud)

这是相当肮脏的,每次引入新符号时都需要更改。我不喜欢它。