Вызов метода пропускается в C#?

У меня есть этот простой код:

 void Application_BeginRequest(object sender, EventArgs e) 
    {
        Trace.Write("Exception Handling", "......");
    }

Однако еще более резкий крик (только без ошибок) о:

Вызов метода пропускается. Компилятор не будет генерировать вызов метода, потому что метод является условным, или это частичный метод без реализации

Я не могу увидеть эту строку в выводе трассировки.

однако - другие следы - я вижу.

Это почему?

(ps Страница (которая находится под проектом веб-сайта) имеет trace="true").

2 ответа

Решение

Будьте уверены, что TRACE константа определяется в настройках вашего проекта для текущей конфигурации сборки.

ОБНОВИТЬ

Поскольку это проект веб-сайта, вы можете поставить

#define TRACE

на вершине Global.asax.cs так что символ трассировки определен.

Чтобы процитировать вики JetBrains (которая может * быть связана с меню ReSharper в разделе "Почему ReSharper предлагает это"):

Во время кодирования вы можете столкнуться с предупреждениями относительно методов, чьи вызовы не будут генерироваться компилятором. С чего бы это? Типичные случаи - это условные методы, которые не будут компилироваться (например, они помечены [ReSharperInt:Conditional("DEBUG")] и ты в RELEASE Режим). Другая причина, по которой метод может быть пропущен, заключается в том, что в какой-то момент его тело было объявлено как partial и реализация не была предоставлена.

Учитывая, что это по методу TraceЯ бы предположил, что первым из этих типичных случаев является тот, который применяется.

* У меня еще нет v7

Другие вопросы по тегам