I have a rather esotheric case where I need to have some piece of code that will never execute but which still needs to be part of the compilation output. Although I could come up with my own, I'm asking the community: What is the simplest and fastest C# Expression that always evaluates to false and does not generate a compiler warning and preserves the enclosed block of code in the final build output?
Update: Since explaining the rationale behind the question was requested: The Monotouch linker performs static code analysis in order to strip all unreferenced symbols out of the final build to decrease the size of the generated binaries. This poses a problem with properties only accessed through reflection.
I'd go for simple...
public static bool False() {
return false;
}
public static void Foo() {
if (False()) {
...
}
}
If you need to convince JIT too (inlining), then add [MethodImpl(MethodImplOptions.NoInlining)]
to False()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With