IFeatureCursor cursor;
IFeatureBuffer featureBuffer;
IFeatureClass featureClass;
FeatureClass = operateShp. CreateShapefile (path, name, polygon. GeometryType );
Cursor = featureClass. Insert (true );
FeatureBuffer = featureClass. CreateFeatureBuffer ();
FeatureBuffer. Shape = polygon;
Cursor. InsertFeature (featureBuffer );
/// <Summary>
/// Create a Shapefile and return the IFeatureClass of the file
/// </Summary>
/// <Param name = "path"> </param>
/// <Param name = "fileName"> </param>
/// <Returns> </returns>
Public IFeatureClass CreateShapefile (string path, string fileName, esriGeometryType featureType)
{
String filePathName = path + fileName;
If (File. Exists (filePathName ))
{
MessageBox. Show ("the file already exists! ");
Return null;
}
IFeatureWorkspace featureWorkspace;
IWorkspaceFactory workspaceFactory = new ShapefileWorkspaceFactoryClass ();
IField field = new FieldClass ();
IFieldEdit fieldEdit;
IFields fields = new FieldsClass ();
IFieldsEdit fieldsEdit = (IFieldsEdit) fields;
IGeometryDef geometryDef = new GeometryDefClass ();
IGeometryDefEdit geometryDefEdit;
FeatureWorkspace = (IFeatureWorkspace) workspaceFactory. OpenFromFile (path, 0 );
FieldEdit = (IFieldEdit) field;
FieldEdit. Name_2 = "shape ";
FieldEdit. Type_2 = esriFieldType. esriFieldTypeGeometry;
GeometryDefEdit = (IGeometryDefEdit) geometryDef;
// Switch (featureType)
//{
// Case esriGeometryType. esriGeometryMultipoint:
// GeometryDefEdit. GeometryType_2 = esriGeometryType. esriGeometryPolyline;
// Break;
// Case esriGeometryType. esriGeometryPolyline:
// GeometryDefEdit. GeometryType_2 = esriGeometryType. esriGeometryPolyline;
// Break;
// Case esriGeometryType. esriGeometryPolyline:
// GeometryDefEdit. GeometryType_2 = esriGeometryType. esriGeometryPolyline;
// Break;
//}
GeometryDefEdit. GeometryType_2 = featureType;
GeometryDefEdit. SpatialReference_2 = new UnknownCoordinateSystemClass ();
FieldEdit. GeometryDef_2 = geometryDef;
FieldsEdit. AddField (field );
Return featureWorkspace. CreateFeatureClass (fileName, fields, null, null, esriFeatureType. esriFTSimple, "shape ","");
}