繁体   English   中英

输出上的变量数组名称(C#)

[英]variable array name on output (c#)

我正在寻找在序列化中具有可变属性名称的正确方法。

输出示例:

{
    "header": {
        "total": 3,
        "page": 1,
        "pagesize": 30
    },
    "cats": [
    ..
    ]
}

{
    "header": {
        "total": 3,
        "page": 1,
        "pagesize": 30
    },
    "dogs": [
    ..
    ]
}

我想让数组的名称是变量,然后以某种方式分配它。 如果我要创建猫的页面,则要在输出中使用名称“ cats”,如果我要创建猫的页面,则要在输出中使用名称“ dogs”。 我正在使用单个类来表示这样的页面,其中包含事物列表(狗或猫)。 目前,我正在复制该类,唯一的变体是数组的名称,这似乎不太正常。

TIA很多

编辑2:

如果您有2页,为什么不只使数组通用,调用就像“ data”之类的东西,然后将Cat and Dog页绑定到data属性。

Header.cs

public class Header
{
 public int Total { get; set; }
 public int Page { get; set; }
 public int PageSize { get; set; }

}

Page.cs

public class Page
{
 public Header Header { get; set; }
 public object[] Data { get; set; }
}

这是我们提取变体并进行修复的方式:

public class ListView<T> : Dictionary<string, object> where T : IDomainObjectBase
{
    public ListView(DTOList<T> dto, ICallContext context, string name, IEnumerable<object> items)
    {
        this.Add("header", new ViewListHeader(dto.Total, dto.Page, dto.PageSize, context.LocalPath));
        this.Add(name, items.ToList());
    }
}

所以我们现在正在使用字典,亲爱的!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM