Python NET调用C#方法并传递null作为参数

时间:2019-02-14 09:05:16

标签: c# python python-3.x null python.net

我具有以下静态C#方法

public static double[] TestMethod(double[] a, double[] b)

我想使用Python NET软件包从Python调用。

import clr
clr.AddReference("MyCSharp")
import System
from MyCSharp import MyStaticClass

t1 = MyStaticClass.MyTestMethod([1., 2.], [3., 4.]) # works

但是如何为第一个或第二个参数传递null

t2 = MyStaticClass.MyTestMethod(None, [3., 4.]) # fails! TypeError: No method matches given arguments

t3 = MyStaticClass.MyTestMethod([1., 2.], None) # fails! TypeError: No method matches given arguments

我知道在参数abnull的情况下,我可以添加其他C#方法。

public static double[] TestMethodWithANull(double[] b)
{ return TestMethod(null, b); }

public static double[] TestMethodWithBNull(double[] a)
{ return TestMethod(a, null); }

但是我更愿意将null从Python传递给C#方法。例如,在MATLAB中,我可以通过传递[]来实现。

0 个答案:

没有答案