private int CountControlPoints(Shape shape) { if (shape == null) { throw new ArgumentNullException("shape"); } int result = 0; foreach (ControlPointId id in shape.GetControlPointIds(ControlPointCapabilities.All)) { ++result; } return(result); }