#undef (C# referência)
#undefpermite que você cancele um símbolo, que, usando o símbolo da expressão em um # if diretiva, a expressão será avaliada como false.
Um símbolo pode ser definido com o # define diretiva ou o /define opção de compilador. O #undef diretiva deve aparecer no arquivo antes de usar quaisquer instruções que são diretivas não também.
Exemplo
// preprocessor_undef.cs
// compile with: /d:DEBUG
#undef DEBUG
using System;
class MyClass
{
static void Main()
{
#if DEBUG
Console.WriteLine("DEBUG is defined");
#else
Console.WriteLine("DEBUG is not defined");
#endif
}
}