Surface Closest side C#

Hi,
How can I get closest naked edge of surface to u v?
I found this function:
IsosStatus iso = MySurface.ClosestSide(u1,v1);
but when I press dot . there are only methods like toString, Equals,
What is a proper way of getting closest naked edge of the surface?

Hi

Here is the code to find closest edge to test point. Here test point is contrained to surface but you can change it to be any point.
In loop where you look for closest edge you can check what faces this edge belongs to (edge.AdjacentFaces method) and if only one thatshould be naked edge…

    protected override Result RunCommand(RhinoDoc doc, RunMode mode)
    {
        try
        {
            ObjRef oRef;
            Result res = RhinoGet.GetOneObject("Select surface to find closest edge", false, ObjectType.Surface, out oRef);                
            if (res != Result.Success) return res;
            var surface = oRef.Surface();
            if (surface == null)
            {
                return Result.Failure;
            }

            var gp = new Rhino.Input.Custom.GetPoint();
            gp.SetCommandPrompt("Select Point (on surface) to find closest edge");
            gp.Constrain(surface, false);
            gp.Get();
            if (gp.CommandResult() != Rhino.Commands.Result.Success)
                return gp.CommandResult();
            var testPoint = gp.Point();
            //
            var brep = surface.ToBrep();
            var closestPoint = brep.Edges[0].PointAtStart;
            var distance = testPoint.DistanceTo(closestPoint);
            Curve closestEdge;
            closestEdge = brep.Edges[0];
            for (int i = 0; i < brep.Edges.Count; i++)
            {
                var edge = brep.Edges[i];
                
                double t_prm; 
                if (edge.ClosestPoint(testPoint, out t_prm, distance))
                {
                    var tmpClosestpoint = edge.PointAt(t_prm);
                    var tmpDistance = testPoint.DistanceTo(tmpClosestpoint);
                    if (tmpDistance < distance)
                    {
                        distance = tmpDistance;
                        closestPoint = tmpClosestpoint;
                        closestEdge = edge;
                    }
                }
            }        

            if (closestPoint!=Point3d.Unset)
            {
                doc.Objects.AddPoint(closestPoint);
                doc.Objects.AddCurve(closestEdge);
            }
            doc.Views.Redraw();
            return Result.Success;
        }
        catch (Exception e)
        {
            RhinoApp.WriteLine("* * * ERROR while processing PlugIn: {0}. ", e.ToString());
            throw;
        }
    }