#error lets you generate an error from a specific location in your code. For example:
#error Deprecated code in this method.
A common use of #error is in a conditional directive.
It is also possible to generate a user-defined warning with #warning (C# Reference).
// preprocessor_error.cs // CS1029 expected #define DEBUG class MainClass { static void Main() { #if DEBUG #error DEBUG is defined #endif } }