public bool GetFabricSubLayersByClass(esriCadastralFabricTable FabricSubClass, out IArray CFParcelFabSubLayers)
{
ICadastralFabricSubLayer pCFSubLyr = null;
IArray CFParcelFabricSubLayers2 = new ArrayClass();
IFeatureLayer pParcelFabricSubLayer = null;
UID pId = new UIDClass();
//pId.Value = "{E156D7E5-22AF-11D3-9F99-00C04F6BC78E}";//IGeoFeatureLayer
pId.Value = "{BA381F2B-F621-4F45-8F78-101F65B5BBE6}"; //ICadastralFabricSubLayer
IMap pMap = AAState._editor.Map;
IEnumLayer pEnumLayer = pMap.get_Layers(pId, true);
pEnumLayer.Reset();
ILayer pLayer = pEnumLayer.Next();
while (pLayer != null)
{
pCFSubLyr = (ICadastralFabricSubLayer)pLayer;
if (pCFSubLyr.CadastralTableType == FabricSubClass)
{
pParcelFabricSubLayer = (IFeatureLayer)pCFSubLyr;
IDataset pDS = (IDataset)pParcelFabricSubLayer.FeatureClass;
if (pDS.Workspace.Equals(AAState._editor.EditWorkspace))
CFParcelFabricSubLayers2.Add(pParcelFabricSubLayer);
}
pLayer = pEnumLayer.Next();
}
CFParcelFabSubLayers = CFParcelFabricSubLayers2;
if (CFParcelFabricSubLayers2.Count > 0)
return true;
else
return false;
}