Even though it should be impossible due to #define
being a pre-processor directive I'd like to ask:
Is it possible to get a list of the #define
'd variables within the actual program? Respectively, a list of conditional compilation symbols, defined within the project's properties.
Why would I need that? I'm managing extensions by using symbols. I'm trying to get a List of them to add them in my about window like
Enabled Extensions:
CUSTOMER1_ABC_EXTENSION
CUSTOMER2_XYZ_EXTENSION
Without writing specific code for each extension.
Solved it using
Which is quite dirty and requires a change each time a new symbol is introduced. I don't like it.
It would appear that the cannonical answer is that you cannot do it. The MSDN documentation for #define says:
This would suggest that you might be better off using reflection. Maybe you could use an Attribute class to decorate the extensions and provide run-time information that you can test for.