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



我正在寻找在序列化时拥有变量属性名称的正确方法。

示例输出:

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

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

我希望数组的名称是可变的,并以某种方式将其分配给某个地方。如果我正在创建一个猫页面,我想在输出中使用名称"cats",如果我正在创建狗页面,我想在输出中使用名称"dogs"。我正在使用一个类来表示这样一个带有事物列表(狗或猫)的页面。目前我正在复制该类,唯一的变体是数组的名称,这似乎有点不行。

T.I.A.很多

编辑 2:

如果你有 2 个页面,为什么不直接使数组通用化,调用类似于"data"并将 Cat and Dog 页面绑定到 data 属性。

页眉.cs

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

页.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());
    }
}

所以我们现在正在使用字典,甜蜜!

相关内容

  • 没有找到相关文章

最新更新