Компилятор отлично справляется с оптимизацией для сборки RELEASE, но иногда может быть полезно обеспечить, чтобы оптимизация была отключена для локальной функции (но не весь проект, отключив Project Options > Optimize code
).
В С++ это достигается с помощью следующего (с нормально откомментированным #pragma
):
#pragma optimize( "", off )
// Some code such as a function (but not the whole project)
#pragma optimize( "", on )
Есть ли эквивалент в С#?
UPDATE
Несколько отличных ответов предлагают украсить метод с помощью MethodImplOptions.NoOptimization
. Это было реализовано в .NET 3.5, но не в версии Compact Framework (CF). Связанный с этим следующий вопрос заключается в том, является ли эквивалент для:
* projects targeting .NET 3.0 or earlier?
* projects deployed to a device such as Windows CE 6.0 using the .NET 3.5 CF?