/// <summary>
/// 获取工作空间的要素类
/// </summary>
/// <param name="workspace"></param>
/// <param name="workspaceType"></param>
/// <returns></returns>
public List<string> GetFeatureClassByWorkspace(IWorkspace workspace)
{
List<string> listFeaClass = new List<string>();
try
{
//遍历工作空间下的featureclass
IFeatureWorkspace pFeatureWorkspace = workspace as IFeatureWorkspace;
IEnumDataset pEnumDatasets = workspace.get_Datasets(esriDatasetType.esriDTAny) as IEnumDataset;
IDataset pDataset = pEnumDatasets.Next();
while (pDataset != null)
{
if (pDataset.Type == esriDatasetType.esriDTFeatureClass)
{
//string aliasName = pFeatureWorkspace.OpenFeatureClass(pDataset.Name).AliasName;
listFeaClass.Add(pDataset.Name);
}
else if (pDataset.Type == esriDatasetType.esriDTFeatureDataset)
{
IEnumDataset pESubDataset = pDataset.Subsets;
IDataset pSubDataset = pESubDataset.Next();
while (pSubDataset != null)
{
listFeaClass.Add(pSubDataset.Name);
pSubDataset = pESubDataset.Next();
}
}
pDataset = pEnumDatasets.Next();
}
}
catch (Exception ex)
{
return null;
}
return listFeaClass;
}