我可以在ironpython中使用Named和Optional Arguments吗?

Beg*_*udy 3 .net ironpython optional-parameters named-parameters

我希望在ironpython中加载.net dll.

但是.net dll中的一个静态函数有一些Named和Optional Arguments.

比如,画(重量:w,高度:h,面积= 1)

我只能使用完整的参数吗?

Din*_*and 6

完全支持命名和可选参数..NET已经有很长一段时间用于VB.NET支持,因此IronPython从一开始就以同样的方式支持它们.新的C#语法映射到与旧的VB支持相同的底层元数据.

为了调用你使用f(x = 42)这是Python的命名参数语法.对于可选参数,您可以将它们排除在外.在您的示例中,您可以执行绘制(体重,身高)并将区域保留.或者您可以将w/weight和height称为命名参数,并将Area保留.

IronPython寻找的底层.NET元数据是OptionalAttribute或DefaultParameterValueAttribute.对于可选,我们传递默认值(T),除非类型是对象,在这种情况下我们传递Missing.Value.这通常与反射调用这些API的方式相匹配.