Compiler Error CS0685

Conditional member 'member' cannot have an out parameter

When using the ConditionalAttribute 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;
    }
}