private List<string> GetUniqueValue(IFeatureLayer layer) {
List<string> list = null;
try {
IFields pFields = layer.FeatureClass.Fields;
int indexOfDLMC = pFields.FindField("DLMC");
IField pField = pFields.get_Field(indexOfDLMC);
esriFieldType type = pField.Type;
ICursor pCursor = null;
IQueryFilter pQueryFilter = new QueryFilterClass();
pQueryFilter.WhereClause = WHERE_CAUSE;
IQueryFilterDefinition pQueryFilterDefinition = pQueryFilter as IQueryFilterDefinition;
pQueryFilterDefinition.PostfixClause = " order by DLBM";
pCursor = layer.FeatureClass.Search(pQueryFilter, false) as ICursor;
IDataStatistics pDataStaticstics = new DataStatisticsClass();
pDataStaticstics.Cursor = pCursor;
pDataStaticstics.Field = pField.Name;
System.Collections.IEnumerator pEnumerator = pDataStaticstics.UniqueValues;
pEnumerator.Reset();
list = new List<string>();
while (pEnumerator.MoveNext()) {
list.Add(pEnumerator.Current.ToString());
}
} catch (Exception) {
throw;
}
return list;
}