public CompositeDataType_Type(CompositeType value) : base(value) { List<CompositeDataField> fields = new List<CompositeDataField>(); foreach (string fieldName in value.KeySet) { fields.Add(new CompositeDataField(fieldName, value.GetDescription(fieldName), Serialize(value.GetOpenType(fieldName)))); } CompositeDataField = fields.ToArray(); }
private static CompositeType MakeRowType(CompositeType elementType) { List<string> names = new List<string>(); List<string> descriptions = new List<string>(); List<OpenType> types = new List<OpenType>(); names.Add(CollectionIndexColumnName); descriptions.Add("Index of a collection"); types.Add(SimpleType.Integer); foreach (string itemName in elementType.KeySet) { names.Add(itemName); descriptions.Add(elementType.GetDescription(itemName)); types.Add(elementType.GetOpenType(itemName)); } return new CompositeType(elementType.TypeName, elementType.Description, names, descriptions, types); }
private static CompositeType MakeElementType(CompositeType rowType) { List<string> names = new List<string>(); List<string> descriptions = new List<string>(); List<OpenType> types = new List<OpenType>(); foreach (string itemName in rowType.KeySet) { if (itemName != CollectionIndexColumnName) { names.Add(itemName); descriptions.Add(rowType.GetDescription(itemName)); types.Add(rowType.GetOpenType(itemName)); } } return new CompositeType(rowType.TypeName, rowType.Description, names, descriptions, types); }