在 .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 感谢您花时间帮助我,您的意思是这样吗?公共列表 项目 获取;放; 是的,我在下面添加了答案! 【参考方案1】:

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 中通过注入将对象传递给数组的主要内容,如果未能解决你的问题,请参考以下文章

如何将对象传递给另一个数组对象

.NET Remoting,将对象传递给方法

Rails,将对象传递给邮件程序

在 C# 中通过引用传递对象和对象列表

如何通过NodeJS将对象传递给前端

将对象传递给java中的方法似乎是通过引用(而Java是通过val)