MapPoint point = MapPointBuilder.CreateMapPoint(10, 20);
List<Coordinate2D> coords = new List<Coordinate2D>() { new Coordinate2D(50, 60), new Coordinate2D(-120, -70), new Coordinate2D(40, 60) };
Multipoint multipoint = MultipointBuilder.CreateMultipoint(coords, SpatialReferences.WebMercator);
Polyline polyline = PolylineBuilder.CreatePolyline(coords);
string json = "{\"rings\":[[[0,0],[0,1],[1,1],[1,0],[0,0]],[[3,0],[3,1],[4,1],[4,0],[3,0]]]}";
Polygon polygon = PolygonBuilder.FromJson(json);
var geometries = new List<Geometry>() { point, multipoint, polyline, polygon };
// Builder constructors need to run on the MCT.
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
using (var builder = new GeometryBagBuilder(SpatialReferences.WGS84))
{
// builder.CountGeometries = 0
builder.AddGeometries(geometries);
// builder.CountGeometries = 4
GeometryBag geomBag = builder.ToGeometry();
// bag.PartCount = 4 (point, multipoint, polyline, polygon)
geometries = new List<Geometry>() { point, polyline };
builder.InsertGeometries(1, geometries);
// builder.CountGeometries = 6
geomBag = builder.ToGeometry();
// bag.PartCount = 6 (point, point, polyline, multipoint, polyline, polygon)
}
});