Code is heuristically unreachable

2020-08-09 04:38发布

What does this mean in contrast to "unreachable code detected"?

标签: c# resharper
3条回答
ゆ 、 Hurt°
2楼-- · 2020-08-09 05:25

Here's an example of Resharper giving the cryptic "Heuristically unreachable code" warning:

enter image description here

It's an example of:

  • Resharper being way to smart for itself, because if you remove it the compiler will complain about a lack of a return statement
  • Use of a word that is not common lexicon
查看更多
Fickle 薄情
3楼-- · 2020-08-09 05:28

Heuristically unreachable means possibly unreachable code. Unreachable code is certainly unreachable.

查看更多
欢心
4楼-- · 2020-08-09 05:35

Say you're deleting 2 different kinds of objects in a unit test and you want to use a try/catch for both types.

If you delete one, and then check to see if it was successful without properly casting using:

Assert.IsNull(obj1);

The "IsNull" may always be null because you casted obj1 incorrectly, or did something above the greyed out code incorrectly with obj1, the next try/catch will be greyed out.

Try fixing the thing you're trying to Assert.IsNull and once it's not always null or undefined, the greyed out code will be reachable.

查看更多
登录 后发表回答