The compiler does a great job of optimising for RELEASE builds, but occasionally it can be useful to ensure that optimisation is turned off for a local function (but not the entire project by unticking Project Options > Optimize code
).
In C++ this is achieved using the following (with the #pragma
normally commented out):
#pragma optimize( "", off )
// Some code such as a function (but not the whole project)
#pragma optimize( "", on )
Is there an equivalent in C#?
UPDATE
Several excellent answers suggest decorating the method with MethodImplOptions.NoOptimization
. This was implemented in .NET 3.5, though not in the Compact Framework (CF) version. A related follow-on question is whether there is an equivalent for:
- projects targeting .NET 3.0 or earlier?
- projects deployed to a device such as Windows CE 6.0 using the .NET 3.5 CF?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…