PyDotNet 从 Python 调用通用方法

我正在使用 PyDotnet 在 Python 中公开一个 .Net 库。我遇到了一个障碍,我需要调用一个通用方法,但无法弄清楚语法或者它是否根本不支持。


例如 public T DoSomething(T myData) { .... }


我如何从 Python 中调用它?


更新:


这是正确的语法,谢谢。但是,就我而言,我在尝试使用该类型调用方法时遇到异常。我不确定我做错了什么。我正在使用该语法,但出现异常。


.NET 方法声明如下所示:


public T SpliceSeries( T lowPriorityTimeSeries, T highPriorityTimeSeries) where 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)


有什么我可以做的事情来调试这个引擎盖吗?


qq_遁去的一_1
浏览 165回答 1
1回答

温温酱

我不确定,但我认为通过 [] 语法 DoSomething[T] 支持泛型
打开App,查看更多内容
随时随地看视频慕课网APP