gpt4 book ai didi

overloading - 从 Ironpython 调用重载方法

转载 作者:行者123 更新时间:2023-12-02 05:09:52 25 4
gpt4 key购买 nike

我想调用Curve.Trim(CurveEnd, Double)来自 RhinoCommon 的方法通过 IronPython 的 API。我怎样才能确保我没有得到 Curve.Trim(Double, Double) 的过载? ?

crv.Trim(geo.CurveEnd.End, 8.8)
#raised: Message: expected float, got CurveEnd

注意:如果您想自己尝试,您需要安装 trial version of Rhino .它包括一个 Python 编辑器。

编辑/添加 Jeff 提到的.Overloads 属性在这里也不起作用。测试片段:

import rhinoscriptsyntax as rs
import Rhino.Geometry as geo
import System

# first draw a curve longer than 8.8 units
crvO = rs.GetObject() # to pick that curve on the 3d GUI screen
crv = rs.coercecurve(crvO) # to get Rhino.Geometry.Curve

# these both don't work:
crv.Trim(geo.CurveEnd.End, 8.8)
#Message: expected float, got CurveEnd

crv.Trim.Overloads[geo.CurveEnd, System.Double](geo.CurveEnd.End, 8.8)
#Message: Trim() takes at least 2147483647 arguments (2 given)

rhinscriptsyntax是一个基于 Rhino 命名空间的库,来自 RhinoCommon

最佳答案

使用 .Overloads 属性访问方法的重载:

csv.Trim.Overloads[CurveEnd, float](geo.CurveEnd.End, 8.8)

The docs.

关于overloading - 从 Ironpython 调用重载方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15663895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com