Мне нужно регистрировать сообщения только тогда, когда приложение работает в режиме отладки.Я нашел 2 способа:
Первый : необходимо написать 3 строки везде, когда требуется регистрация.Но оператор Logger отключен только во время компиляции, и это именно то, что мне нужно.Logger.Log не будет выполнен вообще.
#if DEV_ENV
Logger.Log("Application started !"); // This line is grayed. Perfect !
#endif
public static void Log(string message)
{
Debug.WriteLine(message);
}
Second : Очень аккуратно.Только одна строка кода везде, где требуется регистрация.Не уверен, выполнен оператор Logger.Log или нет. Если вызов функции удаляется только во время компиляции (аналогично первому подходу. Но теперь, если строка кода не выделена серым цветом), я хочу пойти с этим.
Logger.Log("Application started !"); // This line is not grayed out. But, function is not called. So, confused whether its removed at compile time.
[Conditional("DEV_ENV")]
public static void Log(string message)
{
Debug.WriteLine(message);
}
Меня беспокоит разница в производительности.