What are predefined attributes in C#?

The following are the predefined attributes in C# −

  • AttributeUsage
  • Conditional
  • Obsolete


The pre-defined attribute AttributeUsage describes how a custom attribute class can be used. Here is the syntax −

[AttributeUsage (
   AllowMultiple = allowmultiple,
   Inherited = inherited


This predefined attribute marks a conditional method whose execution depends on a specified preprocessing identifier. It causes conditional compilation of method calls, depending on the specified value such as Debug or Trace.

The following is the syntax −



This predefined attribute marks a program entity that should not be used. It enables you to inform the compiler to discard a particular target element. Here is the syntax −

[Obsolete (

[Obsolete (
Samual Sam
Samual Sam

Learning faster. Every day.