C#(可能)使用泛型 - c#

我对此很陌生,所以请多多包涵。

我有一个具有三个属性的类:几个int和一组用户定义的对象。

public class Response
{
    public int num1 { get; set; }
    public int num2 { get; set; }
    public Drink[] drinks{ get; set; }
}

我可以使用用户定义的对象实例化该类,并且一切正常。

Response response = new Response
    {
        num1= 7, num2= 2, drinks= new Drink[] 
        { new Drink{Id=1, Name="Orange"}, new Drink{Id=2, Name="Apple"}}
    };

我该如何使Response类的第三个属性变为使用另一个用户定义的对象(例如“ Snack”)可以拥有该类的另一个实例的位置。

寻找在线资源以获取更多的阅读/学习/理解知识,而不是答案,尽管任何一种都将不胜感激。

参考方案

正如Alex所建议的,泛型是您描述问题时的解决方案。您可以这样重新定义您的班级:

public class Response<T>
{ 
    public int num1 { get; set; } 
    public int num2 { get; set; } 
    public T[] items{ get; set; } 
} 

...然后像这样声明您的实例:

Response<Drink> drinkResponse = new Response<Drink>
{              
    num1= 7, num2= 2, items = new Drink[] { new Drink{Id=1, Name="Orange"}, new Drink{Id=2, Name="Apple"}}  
};  

Response<Snack> snackResponse = new Response<Snack>  
{              
    num1= 7, num2= 2, items = new Snack[] { new Snack{Id=1, Name="Orange"}, new Snack{Id=2, Name="Apple"}}  
};  

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

json数组,其中in数组返回错误?坏字符串 - javascript

我将json字符串文件解析为python,并且始终返回error。我使用了在线json格式化程序和验证器,它们也返回错误,因此我需要帮助使我的json正确并告诉我错误 [{ "sentence_id": "TR.00001", "sentence": { "text": …

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

Json到php,json_decode返回NULL - php

我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…