Условный атрибут и вычисляемые аргументы для метода
У меня есть такой код в моем коде
Debug.WriteLine($@"Operation time: {elapsedMilliseconds}ms");
Напишите строку, помеченную [Conditional("DEBUG")], это означает, что вызовы этого метода будут опущены в выпуске.
[Conditional("DEBUG")]
[__DynamicallyInvokable]
public static void WriteLine(string message, string category)
{
TraceInternal.WriteLine(message, category);
}
Но он вызовет string.Format для аргумента этого метода в RELEASE или тоже удалит его?
1 ответ
Найденный ответ здесь - Использование ConditionalAttribute также удаляет вычисление аргументов?
Если символ определен, вызов включен; в противном случае вызов (включая оценку параметров вызова) опускается.