ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Editing Namespace / EditOperation Class / Execute Method
Example

In This Topic
    Execute Method (EditOperation)
    In This Topic
    Executes the Edit, modifying the database using the instructions given to the EditOperation. Returns true upon success and false upon failure.
    Syntax
    public bool Execute()
    Public Function Execute() As Boolean

    Return Value

    A Boolean representing whether the EditOperation succeeded.
    Remarks
    An EditOperation will fail execution if it detects that there are no edits that produce database changes. This can include a Modify edit that doesn't change any field values. Prior to calling Execute you should check the IsEmpty to determine if there is work to be done.
    Example
    Edit Operation - check for actions before Execute
    // Some times when using EditOperation.Modify you can unknowingly be attempting to set
    //  an attribute to value 
    //  setting 
    // In this scenario the Modify action will detect that nothing is required
    // and do nothing. Because no actions have occurred, the
    // Consequently the Execute operation will fail. 
    if (!opEdit.IsEmpty)
      opEdit.Execute();
    
    Edit Operation Create Features
    var createFeatures = new EditOperation() { Name = "Create Features" };
    //Create a feature with a polygon
    var token = createFeatures.Create(featureLayer, polygon);
    if (createFeatures.IsSucceeded)
    {
      // token.ObjectID wll be populated with the objectID of the created feature after Execute has been successful
    }
    //Do a create features and set attributes
    var attributes = new Dictionary<string, object>();
    attributes.Add("SHAPE", polygon);
    attributes.Add("NAME", "Corner Market");
    attributes.Add("SIZE", 1200.5);
    attributes.Add("DESCRIPTION", "Corner Market");
    
    createFeatures.Create(featureLayer, attributes);
    
    //Create features using the current template
    //Must be within a MapTool
    createFeatures.Create(this.CurrentTemplate, polygon);
    
    //Execute to execute the operation
    //Must be called within QueuedTask.Run
    
    if (!createFeatures.IsEmpty)
    {
      createFeatures.Execute(); //Execute will return true if the operation was successful and false if not.
    }
    
    //or use async flavor
    //await createFeatures.ExecuteAsync();
    
    Read and Write blob fields with the attribute inspector
    QueuedTask.Run(() =>
    {
      //get selected feature into inspector
      var selectedFeatures = MapView.Active.Map.GetSelection();
    
      var insp = new Inspector();
      insp.Load(selectedFeatures.ToDictionary().Keys.First(), selectedFeatures.ToDictionary().Values.First());
    
      //read a blob field and save to a file
      var msw = new MemoryStream();
      msw = insp["Blobfield"] as MemoryStream;
      using (FileStream file = new FileStream(@"d:\temp\blob.jpg", FileMode.Create, FileAccess.Write))
      {
        msw.WriteTo(file);
      }
    
      //read file into memory stream
      var msr = new MemoryStream();
      using (FileStream file = new FileStream(@"d:\images\Hydrant.jpg", FileMode.Open, FileAccess.Read))
      {
        file.CopyTo(msr);
      }
    
      //put the memory stream in the blob field and save to feature
      var op = new EditOperation() { Name = "Blob Inspector" };
      insp["Blobfield"] = msr;
      op.Modify(insp);
      if (!op.IsEmpty)
      {
        var result = op.Execute(); //Execute and ExecuteAsync will return true if the operation was successful and false if not
      }
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also