我收到以下警告:
对标有“值不可能”的实体的可能“空”赋值 null'属性
我的代码:
if (verifier.GetType().GetInterface(typeof(IAsyncVerifier).FullName, true) == null)
{
continue;
}
typeof(IAsyncVerifier).FullName
部分发出警告。怎么可以为空?你会怎么解决它?或者可能有更好的方法来确定对象是否实现了特定的接口?
答案 0 :(得分:6)
或者可能有更好的方法来确定对象是否实现了特定的接口?
使用is运算符来检查对象的类型是否来自特定接口或类
if (verifier is IAsyncVerifier)
查看此MSDN文章Type.FullName它说该属性不会返回任何内容。
...如果当前实例表示泛型类型参数,则无效 基于类型参数的数组类型,指针类型或byref类型, 或者不是泛型类型定义但包含的泛型类型 未解决的类型参数。
如果您确定当您访问FullName时,在任何情况下都不会为空,您可以使用//resharper disable
评论来禁用此警告