我使用PyDotnet在Python中公开.Net库。我遇到了需要调用泛型方法的障碍,但无法弄清楚语法或者它是否只是不支持。
e.g。 public T DoSomething(T myData){....}
我如何从Python中调用它?
更新
这是正确的语法,谢谢。但是,在我的情况下,我尝试使用类型调用方法时出现异常。我不确定我做错了什么。我正在使用该语法,但我得到了一个例外。
.NET方法声明如下所示:
public T SpliceSeries( T lowPriorityTimeSeries, T highPriorityTimeSeries) 其中T:UserScripting.TimeSeries 在python中,我按如下方式调用它:
myInstance.SpliceSeries [DerivedTimeSeriesType](myarg1,myarg2) NB在哪里myarg1& 2是DerivedTimeSeriesType类型,它是从UserScripting.TimeSeries派生的.NET类。
例外是:
异常:System.Runtime.InteropServices.SEHException(0x80004005):外部组件抛出了异常。在InteropPython.throw_invalid_cast(basic_string \,std :: allocator>)处于InteropPython.DynamicCallableInstance.Invoke(DynamicCallableInstance,object,tuple args)
我可以做些什么来调试这个?
答案 0 :(得分:0)
我不确定,但我认为通过[]语法支持泛型, DoSomething [T]