Dyrektywy preprocesora dla różnych plików w C #

Wiem, że mogę używać dyrektyw preprocesora wC# włączyć / wyłączyć kompilację jakiejś części kodu.

Jeśli zdefiniuję dyrektywę w tym samym pliku, to działa dobrze:

#define LINQ_ENABLED
using System;
using System.Collections.Generic;

#if  LINQ_ENABLED
using System.Linq;      
#endif

Teraz jestem używanyC++ w umieszczaniu wszystkich tych dyrektyw konfiguracyjnych w jednym pliku nagłówkowym i włączaniu go do wszystkich plików, w których potrzebuję takich dyrektyw.

Jeśli zrobię to samo wC# coś nie działa:

//Config.cs
#define LINQ_ENABLED

//MyClass.cs
#define LINQ_ENABLED
using System;
using System.Collections.Generic;

#if  LINQ_ENABLED
using System.Linq;      
#endif

Wypróbowałem również poniższe, ale wydaje mi się, że nie mogę zdefiniować dyrektywy wewnątrz przestrzeni nazw:

//Config.cs
namespace Conf{
#define LINQ_ENABLED
}

//MyClass.cs
#define LINQ_ENABLED
using System;
using System.Collections.Generic;
using Conf;
#if  LINQ_ENABLED
using System.Linq;      
#endif
Co ja robię źle?Jaki jest właściwy sposób używania preprocesora w różnych plikachC#?Czy jest na to lepszy sposób?

questionAnswers(4)

yourAnswerToTheQuestion