MethodBase.GetCurrentMethod().DeclaringType.name
我在我的代码中的许多地方都有上述行.为什么Resharper会给我一个警告?
我在类似的行上检查了SO,但没有完全匹配.
解决方法 您所看到的是 ReSharper’s Annotation [CanBeNull]的结果,它应用于属性MemberInfo.DeclaringType:(这是ReSharper的QuickDoc功能,按Ctrl Q或Ctrl Shift F1,具体取决于您使用的键绑定).
我最近在recorded a webinar使用JetBrains,深入讨论了注释,所以欢迎观看它以获取有关其工作原理的更多信息,但基本上,ReSharper“知道”DeclaringType属性在运行时可能为null.这是因为任何一个MemberInfo实现都可能从此属性返回null.例如,ConstructorInfo does this:
public overrIDe Type DeclaringType { get { return m_reflectedTypeCache.IsGlobal ? null : m_declaringType; }}
在任何情况下,由于可能,DeclaringType的一个实现可以为null,ReSharper会向您发出警告,因此您需要进行空检查.
总结以上是内存溢出为你收集整理的c# – 为什么Resharper会在这种情况下显示System.NullReferenceException警告?全部内容,希望文章能够帮你解决c# – 为什么Resharper会在这种情况下显示System.NullReferenceException警告?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)