代码分析抛出错误 CA1006: Do not nest generic types in member signatures每当我们在接口(interface)契约中定义自定义定义时。处理这个所谓的设计问题的最佳方法是什么。对此有任何深刻的想法。
感谢您抽出宝贵时间来完成此过程。
例子:-
Task<IList<Employee>> LoadAllEmployeeAsync();
最佳答案
CA1006: Do not nest generic types in member signatures
我认为规则非常明确。然而,其背后的原因是,无论谁使用您的类,都必须经历一个复杂的过程来实例化复杂的参数,并降低了新库的采用率。
但是,如果我们考虑一下,这条规则在这种情况下没有多大意义。首先,您有一个嵌套的复杂泛型返回类型,它可能没有类似参数那么糟糕。其次,我不认为该规则是为异步方法设计的。
我建议在展示此返回类型的方法上抑制它。不要滥用它,所以请确保只将它放在异步方法上,并且仅当返回类型很复杂时:
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures", Justification="This is an async method.")]
Task<IList<Employee>> LoadAllEmployeeAsync();
关于c# - Visual Studio 代码分析错误 CA 1006,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24989046/