我有一个JSON数据对象,我在路由中使用A1 * 1 A1
A2 * 0 = 0
A3 * 1 A3
将其传递给我的控制器。
([FromBody] Request request)
但我收到错误public class Request
{
public string[] Tests { get; set; }
}
来自https://msdn.microsoft.com/en-us/library/0fss9skc.aspx,它说61819Properties Should Not Return Arrays
我的问题是,当我将属性更改为Method时,ASP.net将不会从POST主体中的JSON数据创建JSON对象。那么为JSON对象修复此错误的最佳方法是什么?
答案 0 :(得分:2)
您是否可以选择接受错误的第二个建议,并将该属性改为收藏,如此?
public List<string> Tests { get; set; }
答案 1 :(得分:1)
简单的解决方案: 由于这不是错误,您可以简单地忽略它。
不那么简单的解决方案:Visual Studio吐出的所有CAxxxx
警告都是Static Code Analysis
警告,这意味着代码仍在编译,尽管通过一些代码质量规则Microsoft已定义(所有这些CA)您编码是有缺陷的。在许多情况下,返回数组的属性是代码气味,但正如您在这种情况下指出的那样,它是需要完成的方式。因此,您可以使用SuppressMessageAttribute禁用该警告。
[SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
public string[] Tests { get; set; }