在Pythonnet中使用mXparser的构造函数错误

时间:2018-12-19 07:38:33

标签: python .net interop overloading python.net

我正在尝试从Python使用mXparser。它加载没有问题,但是一旦尝试用字符串调用表达式函数(如帮助示例中),就会收到错误TypeError: no constructor matches given arguments

import clr  
dllpath = r'C:\...\GitHub\MathParser.org-mXparser\CURRENT\c-sharp\bin\Release\MathParser.org-mXparser.dll'
import org.mariuszgromada.math.mxparser as mx
expr_01 = mx.Expression('2 + 1')

最初,我认为这是指我需要指定要传递的字符串的类型,但我认为不是这样。有任何想法吗?我使用.NET Framework 4.5.2编译了mXparser dll(我没有选择使其变为COM可见的选项。)

1 个答案:

答案 0 :(得分:0)

您可以跑步 mx.Expression.Overloads查看所需的参数类型。可以通过from System import String等导入类型

明确地构造c#类型

from System import String
str3 = String('2 + 1')
expr_01 = mx.Expression(str3)