从类中删除子属性

时间:2018-03-05 15:49:19

标签: c#

有没有办法从嵌套在类对象中的类中删除子属性?我需要实现的是更改coplex嵌套类结构以在序列化之前从整个对象中删除不需要的属性,这可能吗?

我尝试过一个ExpandoObject,但是这个转换为字典我似乎只能删除顶级'属性。

此处以及我希望删除名为' OneOneOneOne'的结构的基本示例。在序列化之前:

Class One
{
   new Class OneOne
   {
      new Class OneOneOne
      {
         int OneOneOneOne
      }
      string OneOneTwo 
   }
   new Class OneTwo
   {
       int OneTwoOne
   }
   int OneThree
}

'忽略'序列化的标签可能不起作用,因为我需要有基于原始对象和数据的各种序列化结构。

1 个答案:

答案 0 :(得分:0)

如果您要序列化为Json,那么您只需将以下属性添加到相关属性

即可
[JsonIgnore]

也有[XmlIgnore]

如果您需要更灵活地操作数据,那么为什么不创建DTO(数据传输对象),根据需要映射到该数据并返回此对象。

Automapper可以很好地适应这些场景,并且可以节省您需要进行大量手动管道的工作。它也可以使映射清晰。