C# Preprocessor directives