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)
{
......
}