【问题标题】:Constructor error using mXparser with Pythonnet使用带有 Pythonnet 的 mXparser 的构造函数错误
【发布时间】:2018-12-19 07:38:33
【问题描述】:

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

【问题讨论】:

    标签: python .net interop overloading python.net


    【解决方案1】:

    你可以跑 mx.Expression.Overloads 看看它需要什么参数类型。类型可以通过from System import String等导入

    显式构造c#类型

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-21
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多