在 .NET 中通过注入将对象传递给数组
Posted
技术标签:
【中文标题】在 .NET 中通过注入将对象传递给数组【英文标题】:Passing Object to Array through Injection in .NET 【发布时间】:2022-01-22 08:33:09 【问题描述】:我真的不知道如何解释这一点,但我很难让我的代码正常工作。
我正在使用 .NET 开发 Web API,并在我的代码中使用了这个模型:
public class NewBasketDTO
public string Identifier get; set;
public Array Items get; set;
我想在这里实现的是我希望能够像这样以 JSON 格式将对象传递给我的数组:
identifier: "someidentifier",
items: [
productId: 1, quantity: 1 ,
productId: 3, quantity: 2 ,
productId: 4, quantity: 1
]
但是我遇到了很大的问题,因为在 PostMan 中我收到了这个错误:
System.NotSupportedException:集合类型“System.Array”是抽象的、接口或只读的,无法实例化和填充。路径:$.items |行号:2 | BytePositionInLine:12。
如何将对象传递给我的公共 Array Itmes?
我已经搜索了这个,但没有找到足够的答案,在此先感谢您的帮助
【问题讨论】:
System.Array
是一个抽象类,无法实例化。您可能希望将 Items 定义为 List<ItemDTO>
类型。
@nullforce 感谢您花时间帮助我,您的意思是这样吗?公共列表System.Array
是一个抽象类,不能被实例化。您可能希望将Items
定义为List<ItemDTO>
类型。
public class ItemDTO
public int ProductId get; set;
public int Quantity get; set;
public class NewBasketDTO
public string Identifier get; set;
public List<ItemDTO> Items get; set;
您也可以使用ItemDTO
的数组:
public class NewBasketDTO
public string Identifier get; set;
public ItemDTO[] Items get; set;
【讨论】:
以上是关于在 .NET 中通过注入将对象传递给数组的主要内容,如果未能解决你的问题,请参考以下文章