当我访问HttpContext.Current.Request.UserHostAddress
时,ReSharper说“检查'UserHostAddress'是否为空”(它在try / catch块中)。
在另一个方法中,从请求对象中获取以下属性:
HttpContext.Current.Request.RawUrl
ReSharper如何确定或“知道”请求不能为null
?还是Current
?或HttpContext
?
这可能是这个框架对象链的一个坏例子,但我认为你明白了。
答案 0 :(得分:3)
R#使用其包含的External Annotations为.NET Framework中的类型提供这些代码注释(就像您提到的ASP.NET类一样)。
为什么Jetbrains注释例如HttpContext.Current
为可空的原因是在控制台应用程序(没有HTTP上下文的应用程序)中HttpContext.Current
返回null
。