public DynamicObjectMemberNode(ObjectNode parent, DynamicObject item, int maxDepth, DataContextDriver dcDriver) : base(parent, item, maxDepth, dcDriver)
{
base.Name = "DynamicObject";
base.Summary = item.ToString();
if (base.Summary.Length > 150)
{
base.Summary = base.Summary.Substring(0, 150) + "...";
}
IEnumerable<string> dynamicMemberNames = item.GetDynamicMemberNames();
if (dynamicMemberNames.Any<string>() && (base.CyclicReference == null))
{
if (!(!base.IsAtNestingLimit() || (base.Parent is ListNode)))
{
base.GraphTruncated = true;
}
else
{
foreach (string str in dynamicMemberNames)
{
object propValue = this.GetPropValue(item, str);
base.Members.Add(new MemberData(str, null, ObjectNode.Create(this, propValue, false, maxDepth, dcDriver)));
}
}
}
}