C# preprocessor directives