Вызов метода пропускается в C#?
у меня есть этот простой код :
void Application_BeginRequest(object sender, EventArgs e)
{
Trace.Write("Exception Handling", "......");
}
однако более резкий крик (без ошибок только предполагают) о :
вызов метода пропускается. Компилятор не будет генерировать метод вызов, поскольку метод является условным или частичным метод без реализации
Я не могу видеть эту строку в выходных данных трассировки.
однако-другие следы-я вижу.
почему это ?
(стр. s. Страница (которая находится под проектом веб-сайта) имеет trace="true"
).
2 ответов
убедитесь, что TRACE
константа определяется в настройках проекта для текущей конфигурации построения.
обновление
поскольку это проект веб-сайта, вы можете поместить
#define TRACE
вверху Global.asax.cs
чтобы был определен символ трассировки.
цитата в JetBrains в вики (который может * быть связан с меню ReSharper в разделе "почему ReSharper предлагает это"):
при кодировании вы можете столкнуться с предупреждениями о методах, вызовы не будут генерироваться компилятором. С чего бы это? Типичными случаями являются условные методы, которые не будут компилироваться (например,, он помечен
[ReSharperInt:Conditional("DEBUG")]
и ты вRELEASE
mode). Еще одна причина, по которой метод может быть пропущен, заключается в том, что, в какой-то момент его тело было объявлено какpartial
и реализация не была предусмотрена.
учитывая, что это по методу Trace
, Я бы предположил, что первый из этих типичных случаев-тот, который применяется.
* у меня еще нет v7