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); }
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); }
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); }