public List <ResultFeatureClassRow> ReadData(string a_WhereClause, bool a_ReadShape) { var a_Results = new List <ResultFeatureClassRow>(); if (ResultsFeatureClass == null) { throw new NullReferenceException("Results feature class not open"); } IQueryFilter a_QueryFilter = string.IsNullOrEmpty(a_WhereClause) ? null : new QueryFilterClass(); IFeatureCursor a_FeatureCursor = null; try { IFeature a_Feature; a_FeatureCursor = ResultsFeatureClass.Search(a_QueryFilter, true); while ((a_Feature = a_FeatureCursor.NextFeature()) != null) { var a_Row = new ResultFeatureClassRow(); a_Row.Read(a_Feature, a_ReadShape); a_Results.Add(a_Row); } } finally { if (a_FeatureCursor != null) { Marshal.ReleaseComObject(a_FeatureCursor); } if (a_QueryFilter != null) { Marshal.ReleaseComObject(a_QueryFilter); } } return(a_Results); }
public WriteSession(IFeatureClass a_FeatureClass, bool a_OverwriteResults) { m_FeatureClass = a_FeatureClass; m_OverwriteResults = a_OverwriteResults; m_ResultRow = new ResultFeatureClassRow(); }