我具有以下静态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
我知道在参数a
或b
为null
的情况下,我可以添加其他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中,我可以通过传递[]
来实现。