如何验证 C# 中的 List 参数以修复 CA1062
Posted
技术标签:
【中文标题】如何验证 C# 中的 List 参数以修复 CA1062【英文标题】:How to validate the List parameter in c# to fix CA1062 【发布时间】:2017-05-05 12:41:14 【问题描述】:我有以下代码。我得到了 FxCop 违规。我不知道如何验证 List 参数。
public Collection<ProjectData> IsHookedConfiguredList(Collection<ProjectData> groupProjectList)
if (groupProjectList.Count != 0)
// my code
return hookConfiguredList;
我添加了if (groupProjectList.Count != 0)
这一行,但我没有消除违规。
我该如何解决这个问题?
【问题讨论】:
如果输入为空,你的函数会做什么?它应该抛出、传播 null、返回一个空集合吗? @PanagiotisKanavos 不可能是空输入。 @Aruunkumar 当然有-var tempList=null;(10 lines after that); var newList=IsHookedConfiguredList(tempList);
。检查输入参数并决定如何处理不可避免的空值
【参考方案1】:
代码分析希望您在使用之前检查传递的参数是否为空。试试这个:
public Collection<ProjectData> IsHookedConfiguredList(Collection<ProjectData> groupProjectList)
if (groupProjectList == null)
throw new ArgumentNullException(nameof(groupProjectList));
// the code
【讨论】:
以上是关于如何验证 C# 中的 List 参数以修复 CA1062的主要内容,如果未能解决你的问题,请参考以下文章
如何验证Future [List [T]]中的单个元素以返回Future [List [T]]或抛出异常