如何冻结动态对象

问题描述 投票:0回答:1

这是一个被转储和改变的动态对象的例子。转储值还包括转储后所做的更改。这几乎就像展望未来。 linqpad 代码共享位于 https://share.linqpad.net/m86box7v.linq

void Main()
{
    List<ExpandoObject> lo= new List<ExpandoObject>();
    dynamic eo;
    eo = new ExpandoObject();
    eo.first="originalvaluebeforefirstdump";
    lo.Add(eo);
    lo.Dump("firstdump");
    eo.seond="newvaluesaftefirstdump";
     
    
}

linqpadoutput

我没想到会在转储中看到第 2 列,因为这些值是在之后添加的

c# linqpad
1个回答
0
投票

转储到 LINQPad 中的 DataGrid 将表现出此行为,因为数据网格会向您显示实时信息。

如果您想查看快照,请使用(默认)结果转富文本选项。每当您转储时,这都会将数据序列化为 HTML。

© www.soinside.com 2019 - 2024. All rights reserved.