Esempio n. 1
0
        private static IEnumerable <string> ProcessBINContainer(BINContainer container)
        {
            List <string> strings = new List <string>();

            foreach (BINValue value in container.Values)
            {
                strings.AddRange(ProcessBINValue(value));
            }

            return(strings);
        }
Esempio n. 2
0
        private static List <TreeViewItem> ProcessContainer(BINValue value)
        {
            BINContainer        container = value.Value as BINContainer;
            List <TreeViewItem> nodes     = new List <TreeViewItem>();

            foreach (BINValue containerValue in container.Values)
            {
                nodes.Add(GenerateValueNode(containerValue, false));
            }

            return(nodes);
        }
Esempio n. 3
0
        private static object SerializeContainer(BINValue value, PropertyInfo propertyInfo)
        {
            BINContainer container           = value.Value as BINContainer;
            object       constructedList     = Activator.CreateInstance(propertyInfo.PropertyType);
            TypeInfo     constructedListInfo = constructedList.GetType().GetTypeInfo();

            if (IsPrimitiveType(container.EntryType))
            {
                foreach (BINValue containerValue in container.Values)
                {
                    constructedListInfo.GetMethod("Add").Invoke(constructedList, new[] { containerValue.Value });
                }
            }
            else if (container.EntryType == BINValueType.Embedded || container.EntryType == BINValueType.Structure)
            {
                foreach (BINValue containerValue in container.Values)
                {
                    constructedListInfo.GetMethod("Add").Invoke(constructedList, new[] { SerializeStructure(containerValue) });
                }
            }

            return(constructedList);
        }