给出以下代码块..
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如何做出这种保证?
答案 0 :(得分:3)
ReSharper带有所谓的"External Annotations"。
使用这些注释R#假定特定属性/参数/ ...永远不能是null
。 (在[NotNull]
属性上按Crtl + Shift + F1后,您应该看到Identity
属性注释。)
但是:此特定注释似乎是一个错误(请参阅RSRP-398551),并且已在当前版本的外部注释中修复。