async private Task OpenShape() { try { FileInfo fi = new FileInfo(_filename); _shapeDataset = new ShapeDataset(); await _shapeDataset.SetConnectionString(fi.Directory.FullName); if (!await _shapeDataset.Open() || (_shape = await _shapeDataset.Element(fi.Name)) == null) { _shapeDataset.Dispose(); _shapeDataset = null; _icon = new ShapeFileIcon(geometryType.Unknown); } else { if (_shape.Class is IFeatureClass) { _icon = new ShapeFileIcon(((IFeatureClass)_shape.Class).GeometryType); } else { _icon = new ShapeFileIcon(geometryType.Unknown); } } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message, "Error"); } }