ArcGIS Pro 2.7 API Reference Guide
CountGeometries Property
Example 

ArcGIS.Core.Geometry Namespace > GeometryBagBuilder Class : CountGeometries Property
Gets the number of geometries contained in this GeometryBag. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public int CountGeometries {get;}
Public ReadOnly Property CountGeometries As Integer
Exceptions
ExceptionDescription
This method or property must be called within the lambda passed to QueuedTask.Run.
Example
// Builder constructors need to run on the MCT.
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
  using (GeometryBagBuilder builder = new GeometryBagBuilder(SpatialReferences.WGS84))
  {
    GeometryBag emptyBag = builder.ToGeometry();
    // emptyBag.IsEmpty = true

    MapPoint point = MapPointBuilder.CreateMapPoint(1, 2, SpatialReferences.WebMercator);
    builder.AddGeometry(point);
    // builder.CountGeometries = 1

    GeometryBag geometryBag = builder.ToGeometry();
    // geometryBag.PartCount = 1
    // geometryBag.PointCount = 1
    // geometryBag.IsEmpty = false

    IReadOnlyList<Geometry> geometries = geometryBag.Geometries;
    // geometries.Count = 1
    // geometries[0] is MapPoint with a sr of WGS84

    bool isEqual = geometryBag.IsEqual(emptyBag);   // isEqual = false

    List<Coordinate2D> coords2D = new List<Coordinate2D>()
    {
    new Coordinate2D(0, 0),
    new Coordinate2D(0, 1),
    new Coordinate2D(1, 1),
    new Coordinate2D(1, 0)
    };

    Multipoint multipoint = MultipointBuilder.CreateMultipoint(coords2D, SpatialReferences.WGS84);
    builder.InsertGeometry(0, multipoint);
    geometryBag = builder.ToGeometry();
    // geometryBag.PartCount = 2

    geometries = geometryBag.Geometries;
    // geometries.Count = 2
    // geometries[0] is Multipoint
    // geometries[1] is MapPoint

    Polyline polyline = PolylineBuilder.CreatePolyline(coords2D, SpatialReferences.WebMercator);
    builder.AddGeometry(polyline);
    builder.RemoveGeometry(1);
    geometryBag = builder.ToGeometry();
    // geometryBag.PartCount = 2

    geometries = geometryBag.Geometries;
    // geometries.Count = 2
    // geometries[0] is Multipoint
    // geometries[1] is Polyline          
  }
});
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)
  }
});
Requirements

Target Platforms: Windows 10, Windows 8.1

See Also

Reference

GeometryBagBuilder Class
GeometryBagBuilder Members