使用带有 Pythonnet 的 mXparser 的构造函数错误

Constructor error using mXparser with Pythonnet

我正在尝试使用 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 可见的选项)。

你可以运行 mx.Expression.Overloads 看看它需要什么参数类型。类型可以通过from System import String, etc

导入

显式构造c#类型

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