【问题标题】:Possible null assignment in ReSharper. I can't see how that can be null?ReSharper 中可能的空分配。我看不出那怎么可能是空的?
【发布时间】:2012-02-09 09:14:51
【问题描述】:

我收到以下警告:

对标有“值”的实体的可能“空”赋值不能 null' 属性

我的代码:

if (verifier.GetType().GetInterface(typeof(IAsyncVerifier).FullName, true) == null)
                {
                    continue;
                }

typeof(IAsyncVerifier).FullName 部分发出警告。那怎么可能是空的?你会如何解决它?或者也许有更好的方法来判断对象是否实现了特定的接口?

【问题讨论】:

标签: c# .net resharper


【解决方案1】:

或者也许有更好的方法来判断对象是否实现了特定的接口?

使用 is 运算符检查对象的类型是否派生自特定接口或类

if (verifier is IAsyncVerifier)

看看这篇MSDN文章Type.FullName它说属性不会返回任何东西。

... 如果当前实例表示泛型类型参数,则无任何内容, 基于类型参数的数组类型、指针类型或 byref 类型, 或不是泛型类型定义但包含的泛型类型 未解析的类型参数。

如果您确定当您访问 FullName 时,这在任何情况下都不会为空,您可以使用 //resharper disable 评论禁用此警告

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多