Stream(ArrayList data, LinetypeTableRecord rec) { data.Add(new Snoop.Data.ClassSeparator(typeof(LinetypeTableRecord))); data.Add(new Snoop.Data.String("Ascii Description", rec.AsciiDescription)); data.Add(new Snoop.Data.String("Comments", rec.Comments)); data.Add(new Snoop.Data.Bool("Is scaled to fit", rec.IsScaledToFit)); data.Add(new Snoop.Data.Distance("Pattern length", rec.PatternLength)); data.Add(new Snoop.Data.Int("Number of dashes", rec.NumDashes)); int i, len; len = rec.NumDashes; for (i = 0; i < len; i++) { data.Add(new Snoop.Data.CategorySeparator(string.Format("--- DASH [{0}] ---", i))); data.Add(new Snoop.Data.Distance("Length", rec.DashLengthAt(i))); data.Add(new Snoop.Data.ObjectId("Shape style", rec.ShapeStyleAt(i))); data.Add(new Snoop.Data.Int("Shape number at", rec.ShapeNumberAt(i))); data.Add(new Snoop.Data.Vector2d("Shape offset at", rec.ShapeOffsetAt(i))); data.Add(new Snoop.Data.Double("Shape scale at", rec.ShapeScaleAt(i))); data.Add(new Snoop.Data.Bool("Shape is UCS oriented at", rec.ShapeIsUcsOrientedAt(i))); data.Add(new Snoop.Data.Angle("Shape rotation at", rec.ShapeRotationAt(i))); try { data.Add(new Snoop.Data.String("Text at", rec.TextAt(i))); } catch (Autodesk.AutoCAD.Runtime.Exception e) { if (e.ErrorStatus == Autodesk.AutoCAD.Runtime.ErrorStatus.NotApplicable) { data.Add(new Snoop.Data.Exception("Text at", e)); } else { throw e; } } } }