while (pFeature != null) { IGeometry shapeCopy = pFeature.ShapeCopy; IArea area = pFeature.Shape as IArea; double value = area.Area; // Result is: 110102.807... // .... pFeature = pFeatureCursor.NextFeature(); }
Type factoryType = Type.GetTypeFromProgID( "esriDataSourcesFile.CadWorkspaceFactory"); System.Object obj = Activator.CreateInstance(factoryType); factory = obj as IWorkspaceFactory; IFeatureWorkspace ftrWorkSpace = (IFeatureWorkspace)factory.OpenFromFile(strWorkSpace, 0); IFeatureDataset pFeatureDataset = ftrWorkSpace.OpenFeatureDataset(strFileName); IFeatureClassContainer pFeatureClassContainer = (IFeatureClassContainer)pFeatureDataset; IFeatureClass pCadPolygon; IFeatureCursor pFeatureCursor = pCadPolygon.Search(pQueryFilter, false); if (pFeatureCursor == null) return false; IFeature pFeature = pFeatureCursor.NextFeature(); while (pFeature != null) { ...... }