public virtual ReadOnlyPartCollection Parts {get;}
Public Overridable ReadOnly Property Parts As ReadOnlyPartCollection
public virtual ReadOnlyPartCollection Parts {get;}
Public Overridable ReadOnly Property Parts As ReadOnlyPartCollection
int numParts = polyline.PartCount; // get the parts as a readonly collection ReadOnlyPartCollection parts = polyline.Parts;
ReadOnlyPartCollection polylineParts = polyline.Parts; // enumerate the segments to get the length double len = 0; IEnumerator<ReadOnlySegmentCollection> segments = polylineParts.GetEnumerator(); while (segments.MoveNext()) { ReadOnlySegmentCollection seg = segments.Current; foreach (Segment s in seg) { len += s.Length; // perhaps do something specific per segment type switch (s.SegmentType) { case SegmentType.Line: break; case SegmentType.Bezier: break; case SegmentType.EllipticArc: break; } } } // or use foreach pattern foreach (var part in polyline.Parts) { foreach (var segment in part) { len += segment.Length; // perhaps do something specific per segment type switch (segment.SegmentType) { case SegmentType.Line: break; case SegmentType.Bezier: break; case SegmentType.EllipticArc: break; } } }
// get the parts as a readonly collection
ReadOnlyPartCollection parts = polygon.Parts;
int numSegments = 0; IEnumerator<ReadOnlySegmentCollection> segments = polygon.Parts.GetEnumerator(); while (segments.MoveNext()) { ReadOnlySegmentCollection seg = segments.Current; numSegments += seg.Count; foreach (Segment s in seg) { // do something with the segment } }
Target Platforms: Windows 10, Windows 8.1