Quick Question: Whats wrong with this pre-processor directive in C#

前端 未结 3 477
广开言路
广开言路 2021-01-16 14:31

Whats wrong with these pre-processor directive in C#

#define OUTPUT_DIRECTORY \"E:\\asdf\\sdfg\\jhkl\\\"

I also tried giving:



        
相关标签:
3条回答
  • 2021-01-16 15:08

    You define a symbol. You can't assign a value to it.

    Symbols are not variables. See more on MSDN.

    The usage could be:

     #ifdef OUTPUT_DIRECTORY
       someVariable = "E:\\asdf\\sdfg\\jhkl\\"
     #endif
    
    0 讨论(0)
  • 2021-01-16 15:27

    You cannot give that symbol (OUTPUT_DIRECTORY) a value, the symbol can only be "defined" or "undefined" so you can use it in a #if OUTPUT_DIRECTORY ... #endif.

    See http://msdn.microsoft.com/en-us/library/yt3yck0x(VS.71).aspx

    0 讨论(0)
  • 2021-01-16 15:35

    In addition to Oded and Hans' answers, I'd recommend simply making it a constant rather than trying to use the pre-processor. If it's used by multiple classes, define it in a common class.

    0 讨论(0)
提交回复
热议问题