// Merges multiple features from a source feature layer into a new feature, optionally using a template or inspector, and supports merging into a destination layer.
await QueuedTask.Run(() =>
{
var mergeFeatures = new EditOperation() { Name = "Merge Features" };
//Merge three features into a new feature using defaults
//defined in the current template
mergeFeatures.Merge(currentTemplate as EditingRowTemplate, featureLayer, [10, 96, 12]);
//Merge three features into a new feature in the destination layer
mergeFeatures.Merge(destinationLayer, featureLayer, [10, 96, 12]);
//Use an inspector to set the new attributes of the merged feature
var inspector = new Inspector();
inspector.Load(featureLayer, objectId);//base attributes on an existing feature
inspector["NAME"] = "New name";
inspector["DESCRIPTION"] = "New description";
//Merge features into a new feature in the same layer using the
//defaults set in the inspector
mergeFeatures.Merge(featureLayer, [10, 96, 12], inspector);
//Execute to execute the operation
//Must be called within QueuedTask.Run
if (!mergeFeatures.IsEmpty)
{
//Execute and ExecuteAsync will return true if the operation was successful and false if not
var result = mergeFeatures.Execute();
//or use async flavor
//await mergeFeatures.ExecuteAsync();
}
});