Ejemplo n.º 1
0
        private static DataNode FromArray(object obj, string arrayName = null)
        {
            var result = DataNode.CreateArray(arrayName);

            var array = (Array)obj;
            var type  = array.GetType();

            if (array != null && array.Length > 0)
            {
                var itemType = type.GetElementType();

                for (int i = 0; i < array.Length; i++)
                {
                    var item = array.GetValue(i);

                    if (itemType.IsPrimitive())
                    {
                        result.AddValue(item);
                    }
                    else
                    {
                        var itemNode = item.ToDataNode(null, true);
                        result.AddNode(itemNode);
                    }
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public static DataNode ToDataNode <T>(this IEnumerable <T> obj, string name)
        {
            var result = DataNode.CreateArray(name);

            foreach (var item in obj)
            {
                var node = item.ToDataNode();
                result.AddNode(node);
            }

            return(result);
        }