public override void Dispose() { base.Dispose(); if (_queryInfo != null) { _queryInfo.Dispose(); _queryInfo = null; } if (_connection != null) { try { _connection.Close(); } catch { } _connection = null; } }
public IDatasetElement this[string title] { get { SE_LAYERINFO layerInfo = new SE_LAYERINFO(); try { SdeFeatureClass fc = null; //SdeConnection connection = _sConnection.AllocConnection(); using (ArcSdeConnection connection = new ArcSdeConnection(_connStr)) { if (connection.Open()) { if (Wrapper92.SE_layerinfo_create(new SE_COORDREF(), ref layerInfo) != 0) { return(null); } if (Wrapper92.SE_layer_get_info(connection.SeConnection, title, "", layerInfo) != 0) { return(null); } fc = new SdeFeatureClass(this, connection.SeConnection, layerInfo); } connection.Close(); } //_sConnection.FreeConnection(); return(new DatasetElement(fc)); } finally { if (layerInfo.handle != 0) { Wrapper92.SE_layerinfo_free(layerInfo); } } } }