// SetOnUndone, SetOnRedone and SetOnComitted can be used to manage 
// external actions(such as writing to a log table) that are associated with 
// each edit operation.
//get selected feature and update attribute
var selectedFeatures = MapView.Active.Map.GetSelection();
var testInspector = new Inspector();
testInspector.Load(selectedFeatures.ToDictionary().Keys.First(), selectedFeatures.ToDictionary().Values.First());
testInspector["Name"] = "test";
//create and execute the edit operation
var updateTestField = new EditOperation() { Name = "Update test field" };
updateTestField.Modify(insp);
//actions for SetOn...
updateTestField.SetOnUndone(() =>
{
  //Sets an action that will be called when this operation is undone.
  Debug.WriteLine("Operation is undone");
});
updateTestField.SetOnRedone(() =>
{
  //Sets an action that will be called when this editoperation is redone.
  Debug.WriteLine("Operation is redone");
});
updateTestField.SetOnComitted((bool b) => //called on edit session save(true)/discard(false).
{
  // Sets an action that will be called when this editoperation is committed.
  Debug.WriteLine("Operation is committed");
});
if (!updateTestField.IsEmpty)
{
  var result = updateTestField.Execute(); //Execute and ExecuteAsync will return true if the operation was successful and false if not
}