Conditional attribute and calculated arguments for method

1.1k Views Asked by At

I have code like this in my code

Debug.WriteLine($@"Operation time: {elapsedMilliseconds}ms");

Write line marked with [Conditional("DEBUG")], that means that calls of this method will be omitted in release.

[Conditional("DEBUG")]
[__DynamicallyInvokable]
public static void WriteLine(string message, string category)
{
  TraceInternal.WriteLine(message, category);
}

But, will it call string.Format for argument of this method in RELEASE or remove it too?

1

There are 1 best solutions below

0
On

Found answer here - Does using ConditionalAttribute also remove arguments computation?

If the symbol is defined, the call is included; otherwise, the call (including evaluation of the parameters of the call) is omitted.