ArcGIS Pro 2.9 API Reference Guide
LineBuilder Constructor(MapPoint,MapPoint)
Example 

ArcGIS.Core.Geometry Namespace > LineBuilder Class > LineBuilder Constructor : LineBuilder Constructor(MapPoint,MapPoint)
The start point.
The end point.
Initializes a new instance of the LineBuilder class defined from the start and end point. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public LineBuilder( 
   MapPoint startPt,
   MapPoint endPt
)
Public Function New( _
   ByVal startPt As MapPoint, _
   ByVal endPt As MapPoint _
)

Parameters

startPt
The start point.
endPt
The end point.
Exceptions
ExceptionDescription
Incompatible spatial references. The spatial references of the MapPoints do not match.
This method or property must be called within the lambda passed to QueuedTask.Run.
startPt or endPt is null.
Remarks
This is a straight line segment between the start and end point.

Line Segment

Example
// Use a builder convenience method or use a builder constructor.

MapPoint startPt = MapPointBuilder.CreateMapPoint(1.0, 1.0);
MapPoint endPt = MapPointBuilder.CreateMapPoint(2.0, 1.0);

// Builder convenience methods don't need to run on the MCT.
LineSegment lineFromMapPoint = LineBuilder.CreateLineSegment(startPt, endPt);

// coordinate2D
Coordinate2D start2d = (Coordinate2D)startPt;
Coordinate2D end2d = (Coordinate2D)endPt;

LineSegment lineFromCoordinate2D = LineBuilder.CreateLineSegment(start2d, end2d);

// coordinate3D
Coordinate3D start3d = (Coordinate3D)startPt;
Coordinate3D end3d = (Coordinate3D)endPt;

LineSegment lineFromCoordinate3D = LineBuilder.CreateLineSegment(start3d, end3d);

// lineSegment
LineSegment anotherLineFromLineSegment = LineBuilder.CreateLineSegment(lineFromCoordinate3D);

// Builder constructors need to run on the MCT.
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
{
  using (LineBuilder lb = new LineBuilder(startPt, endPt))
  {
    // do something with the builder

    lineFromMapPoint = lb.ToSegment();
  }

  using (LineBuilder lb = new LineBuilder(start2d, end2d))
  {
    // do something with the builder

    lineFromCoordinate2D = lb.ToSegment();
  }

  using (LineBuilder lb = new LineBuilder(start3d, end3d))
  {
    // do something with the builder

    lineFromCoordinate3D = lb.ToSegment();
  }

  using (LineBuilder lb = new LineBuilder(lineFromCoordinate3D))
  {
    // do something with the builder

    anotherLineFromLineSegment = lb.ToSegment();
  }
});


// builderEx constructors don't need to run on the MCT
LineBuilderEx lbEx = new LineBuilderEx(startPt, endPt);
lineFromMapPoint = lbEx.ToSegment() as LineSegment;

lbEx = new LineBuilderEx(start2d, end2d);
lineFromCoordinate2D = lbEx.ToSegment() as LineSegment;

lbEx = new LineBuilderEx(start3d, end3d);
lineFromCoordinate3D = lbEx.ToSegment() as LineSegment;

lbEx = new LineBuilderEx(startPt, endPt);
lineFromMapPoint = lbEx.ToSegment() as LineSegment;

lbEx = new LineBuilderEx(lineFromCoordinate3D);
anotherLineFromLineSegment = lbEx.ToSegment() as LineSegment;


// builderEx convenience methods don't need to run on the MCT
lineFromMapPoint = LineBuilderEx.CreateLineSegment(startPt, endPt);
lineFromCoordinate2D = LineBuilderEx.CreateLineSegment(start2d, end2d);
lineFromCoordinate3D = LineBuilderEx.CreateLineSegment(start3d, end3d);
anotherLineFromLineSegment = LineBuilderEx.CreateLineSegment(lineFromCoordinate3D);
Requirements

Target Platforms: Windows 11, Windows 10, Windows 8.1

See Also

Reference

LineBuilder Class
LineBuilder Members
Overload List