繁体   English   中英

Visual Studio代码分析错误CA 1006

[英]Visual Studio Code Analysis Error CA 1006

代码分析抛出错误CA1006:每当我们在接口契约中定义自定义定义时, 不要将泛型类型嵌套在成员签名中。 处理这个所谓的设计问题的最佳方法是什么。 对此有任何深刻的想法。

感谢您花费宝贵的时间来完成这项工作。

例:-

 Task<IList<Employee>> LoadAllEmployeeAsync();

CA1006: 不要在成员签名中嵌套泛型类型

我认为规则很清楚。 然而,其背后的原因是,任何使用您的类的人都必须经历一个复杂的过程来实例化复杂的参数并降低新库的采用率。

但是,如果我们考虑一下,在这种情况下,该规则没有多大意义。 首先,您有一个嵌套的复杂泛型返回类型,它可能没有类似参数那么糟糕。 其次,我不认为该规则是异步方法的设计。

我建议在展示此返回类型的方法上禁止它。 不要滥用它,因此请确保仅将其放在异步方法上,并且仅在返回类型很复杂时:

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures", Justification="This is an async method.")]
Task<IList<Employee>> LoadAllEmployeeAsync();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM