private GType GetType(string filename, MIFUnit mu, Dictionary <MIFUnit, GType> types) { GType gType = null; if (!types.ContainsKey(mu)) { gType = CreateType(mu); gType.Name = Path.GetFileNameWithoutExtension(filename) + mu.ToString( ); types.Add(mu, gType); } else { gType = types[mu]; } return(gType); }
GType CreateType(MIFUnit mu) { switch (mu) { case MIFUnit.Point: return(CreateType(GeomType.Point)); case MIFUnit.Region: return(CreateType(GeomType.Polygon)); case MIFUnit.Line: return(CreateType(GeomType.Polyline)); case MIFUnit.Polyline: return(CreateType(GeomType.Polyline)); case MIFUnit.Text: return(CreateType(GeomType.Caption)); default: throw new MIFReaderException("Type \'" + mu.ToString( ) + "\' not implemented"); } }