Files
NetDataContractSerializer/Compat.Private.Serialization/Compat/Runtime/Serialization/CollectionDataNode.cs
2019-08-29 23:24:07 +03:00

58 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Globalization;
namespace Compat.Runtime.Serialization
{
internal class CollectionDataNode : DataNode<Array>
{
private IList<IDataNode> items;
private string itemName;
private string itemNamespace;
private int size = -1;
internal CollectionDataNode()
{
dataType = Globals.TypeOfCollectionDataNode;
}
internal IList<IDataNode> Items
{
get => items;
set => items = value;
}
internal string ItemName
{
get => itemName;
set => itemName = value;
}
internal string ItemNamespace
{
get => itemNamespace;
set => itemNamespace = value;
}
internal int Size
{
get => size;
set => size = value;
}
public override void GetData(ElementData element)
{
base.GetData(element);
element.AddAttribute(Globals.SerPrefix, Globals.SerializationNamespace, Globals.ArraySizeLocalName, Size.ToString(NumberFormatInfo.InvariantInfo));
}
public override void Clear()
{
base.Clear();
items = null;
size = -1;
}
}
}