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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With