public System.Collections.ArrayList GetCollectionofField(ITable table, string field) { IFdeCursor fdeCursor = null; System.Collections.ArrayList arrayList = new System.Collections.ArrayList(); System.Collections.ArrayList result; try { IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.AddSubField(field); queryFilter.WhereClause = "1=1"; fdeCursor = table.Search(queryFilter, false); IRowBuffer rowBuffer; while ((rowBuffer = fdeCursor.NextRow()) != null) { int position = rowBuffer.FieldIndex("name"); string value = rowBuffer.GetValue(position).ToString(); arrayList.Add(value); } result = arrayList; } catch (System.Exception) { result = arrayList; } finally { if (fdeCursor != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(fdeCursor); fdeCursor = null; } } return(result); }