C# Error CS0685 – Conditional member ‘{0}’ cannot have an out parameter

C# Error

CS0685 – Conditional member ‘{0}’ cannot have an out parameter

Reason for the Error & Solution

Conditional member ‘member’ cannot have an out parameter

When using the attribute on a method, that method may not have an out parameter. This is because the value of the variable used for the out parameter would not be defined in the case that the method call is compiled to nothing. To avoid this error, remove the out parameter from the conditional method declaration, or don’t use the Conditional Attribute.

Example

The following sample generates CS0685:

// CS0685.cs  
using System.Diagnostics;  
  
class C  
{  
    [Conditional("DEBUG")]  
    void trace(out int i)  // CS0685  
    {  
        i = 1;  
    }  
}