private void Stream(ArrayList data, object elem) { var thisElementTypes = Types.Where(x => IsSnoopableType(x, elem)).ToList(); var streams = new IElementStream[] { new ElementPropertiesStream(_document, data, elem), new ElementMethodsStream(_document, data, elem), new SpatialElementStream(data, elem), new FamilyTypeParameterValuesStream(data, elem), new ExtensibleStorageEntityContentStream(_document, data, elem), new PartUtilsStream(data, elem) }; foreach (var type in thisElementTypes) { data.Add(new ClassSeparatorData(type)); foreach (var elementStream in streams) { elementStream.Stream(type); } } StreamElementExtensibleStorages(data, elem as Element); StreamSimpleType(data, elem); }
private void Stream(ArrayList data, object elem) { var thisElementTypes = types.Where(x => elem.GetType().IsSubclassOf(x) || elem.GetType() == x || x.IsAssignableFrom(elem.GetType())).ToList(); var streams = new IElementStream[] { new ElementPropertiesStream(m_app, data, elem), new ElementMethodsStream(m_app, data, elem), new SpatialElementStream(data, elem), new FamilyTypeParameterValuesStream(data, elem), new ExtensibleStorageEntityContentStream(m_app.ActiveUIDocument.Document, data, elem) }; foreach (Type type in thisElementTypes) { data.Add(new Snoop.Data.ClassSeparator(type)); foreach (var elementStream in streams) { elementStream.Stream(type); } } StreamElementExtensibleStorages(data, elem as Element); StreamSimpleType(data, elem); }