Source code based #define isn’t available in C# like in C++.

You can’t use it to create macros. Bloody annoying, but get over it – you can’t!  Instead, use constants.

See constants here

Example C# define usage

#if (!PLATFORM_IS_RPI && !DEBUG)
#endif

#if THIS_IS_RPI_APP

#elif THIS_IS_WIN32_INTERFACE_APP

#else

#endif

#if DEBUG

See here.

How #define is used in C#

#define is only used to create something to test against (e.g. #if DEBUG #endif)

#define can only appear at the start of a file.

#define only has scope in the file it is defined in.

Global defines in C#

You can define for an entire project in Project Properties > Build > Conditional compilation symbols

You can then test those defines like this:

#if THIS_IS_RPI_APP

#elif THIS_IS_WIN32_INTERFACE_APP

#else

#endif
Feel free to comment if you can add help to this page or point out issues and solutions you have found. I do not provide support on this site, if you need help with a problem head over to stack overflow.

Comments

Your email address will not be published. Required fields are marked *