public void IWorkspaceEdit_Example(IWorkspace workspace, string nameOfFeatureClass)
    {
        IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace;
        IFeatureClass featureClass = featureWorkspace.OpenFeatureClass(nameOfFeatureClass);
        IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)workspace;
        //start editing with undo redo functionality
        workspaceEdit.StartEditing(true);
        workspaceEdit.StartEditOperation();
        IFeature feature = featureClass.GetFeature(1);
        feature.Delete();
        workspaceEdit.StopEditOperation();
        Console.WriteLine("Would you like to undo your operation? Y or N");
        string response = Console.ReadLine();
        if(response.ToUpper() == "Y")
        {
            workspaceEdit.UndoEditOperation();
        }
        bool hasEdits = false;
        workspaceEdit.HasEdits(ref hasEdits);
        if (hasEdits)
        {
            Console.WriteLine("Would you like to save your edits? Y or N");
            response = Console.ReadLine();
            if (response.ToUpper() == "Y")
            {
                workspaceEdit.StopEditing(true);
            }
            else
            {
                workspaceEdit.StopEditing(false);
            }
        }
    }

posted on 2010-12-17 22:34  醉意人间  阅读(474)  评论(0编辑  收藏  举报