C# Python.net没有';无法从python工作=>。NET的命名参数?

C# Python.net没有';无法从python工作=>。NET的命名参数?,c#,python,.net,python.net,C#,Python,.net,Python.net,我有一个.NET4.7.2程序集,其中包含一个类和一个方法。例如: public class Foo { public void Bar(double duration, string ledPower, string gain, string exposure, string color) { } } 我想使用pythonnet从python2.7调用它。如果呼叫是: foo.Bar(1.2, '40', '50', '60', 'blah') 但如果使用命名参数/KWARG,则不

我有一个.NET4.7.2程序集,其中包含一个类和一个方法。例如:

public class Foo
{
    public void Bar(double duration, string ledPower, string gain, string exposure, string color) { }
}
我想使用pythonnet从python2.7调用它。如果呼叫是:

foo.Bar(1.2, '40', '50', '60', 'blah')
但如果使用命名参数/KWARG,则不会:

foo.Bar(duration=1.2, ledPower='40', gain='50', exposure='60', color='blah')
错误显示:

TypeError:没有与给定参数匹配的方法


这一切都可以在内部使用IronPython—现在我想使用CPython从CLI运行。有什么想法吗?

如果您将签名从
double
更改为
float
,会有什么不同吗?据我所知,它似乎完全忽略了关键字参数。它至少看起来没有做出任何努力来匹配关键字参数和托管方法参数名称。我不是Python专家,但是如果关键字args(dictionary)不保留参数顺序,我认为这段代码将无法匹配。谢谢你的指针。我可能得看看能不能解决这个问题。同时,我想知道我是否可以添加一个可以工作的重载,也许是一个dict?