给定以下代码块..
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告诉我,第三行总是错误的.考虑到身份是一种参考类型,Resharper如何保证?
解决方法:
ReSharper附带了所谓的“External Annotations”.
使用这些注释,R#假定特定的属性/参数/ …永远不能为null. (在Identity属性上按Crtl Shift F1后,应该看到[NotNull]属性注释.)
但是:此特定注释似乎是一个错误(请参见RSRP-398551),并且已在当前版本的外部注释中修复.