1.遍历
遍历所有要素类。
下面展示的方法可以直接调用。
public static List<IFeatureClass> GetAllFeatureClass(IWorkspace workspace)
{
IEnumDataset enums = workspace.get_Datasets(esriDatasetType.esriDTAny);
IDataset dataset = enums.Next();
List<IFeatureClass> featureclass = new List<IFeatureClass>();
while (dataset != null)
{
esriDatasetType type = dataset.Type;
if (type == esriDatasetType.esriDTFeatureClass)
{
IFeatureClass fc=dataset as IFeatureClass;
featureclass.Add(fc);
}
else if (type == esriDatasetType.esriDTFeatureDataset)
{
IFeatureDataset fdataset = dataset as IFeatureDataset;
IFeatureClassContainer fcc = fdataset as IFeatureClassContainer;
IEnumFeatureClass efc = fcc.Classes;
IFeatureClass fclass = efc.Next();
while (fclass != null)
{
featureclass.Add(fclass);
fclass = efc.Next();
}
}
else
{
continue;
}
dataset = enums.Next();
}
return featureclass;
}