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?