Resharper表达式始终为false

时间:2015-03-20 15:54:40

标签: c# resharper

给出以下代码块..

if (HttpContext.Current == null) return null;
if (HttpContext.Current.User == null) return null;
if (HttpContext.Current.User.Identity == null) return null;
return HttpContext.Current.User.Identity.Name;

Resharper告诉我第三行总是假的。考虑到Identity是一种参考类型,Resharper如何做出这种保证?

1 个答案:

答案 0 :(得分:3)

ReSharper带有所谓的"External Annotations"

使用这些注释R#假定特定属性/参数/ ...永远不能是null。 (在[NotNull]属性上按Crtl + Shift + F1后,您应该看到Identity属性注释。)

但是:此特定注释似乎是一个错误(请参阅RSRP-398551),并且已在当前版本的外部注释中修复。