public static Table Table(string name, List <IBHoMObject> bhomObjects, bool ignoreName = false, bool ignoreGuid = true, bool ignoreTags = true) { IBHoMObject first = bhomObjects.First(); Dictionary <string, Type> propertyTypes = first.PropertyTypeDictionary(); List <DataColumn> columns = new List <DataColumn>(); propertyTypes.CleanUnwantedProperties(ignoreName, ignoreGuid, ignoreTags); foreach (var kvp in propertyTypes) { columns.Add(new DataColumn(kvp.Key, kvp.Value)); } DataTable table = new DataTable(); table.Columns.AddRange(columns.ToArray()); foreach (IBHoMObject obj in bhomObjects) { Dictionary <string, object> props = obj.PropertyDictionary(); props.CleanUnwantedProperties(ignoreName, ignoreGuid, ignoreTags); DataRow row = table.NewRow(); foreach (var kvp in props) { row[kvp.Key] = kvp.Value; } table.Rows.Add(row); } return(new Table { Data = table, Name = name }); }