ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Desktop.Editing Namespace / EditOperation Class / ExecuteAsync() Method

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

    Return Value

    A task representing the editoperation that will result in a success or failure.
    An EdtiOperation will fail execution if if 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 ExecuteAsync you should check the IsEmpty to determine if there is work to be done.
    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)
    Edit Operation Create Features
    var createFeatures = new EditOperation();
    createFeatures.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();

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also