Python到C#StongBox[单个]

2024-09-27 00:17:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我用IronPython添加了对C#dll的引用。我试图在DLL中使用需要类型为的参数的方法:

out float tempValue

当我将python float对象传递给该方法时,会得到以下回溯:

^{pr2}$

我的问题是:

  1. 什么是保险箱
  2. 如何在python中创建这样一个传递给C方法的对象。在

Tags: 对象方法类型参数floatoutdllironpython
1条回答
网友
1楼 · 发布于 2024-09-27 00:17:19

为了使out参数有一个合适的目标,您必须在IronPython中显式地创建一个clr引用(StrongBox充当该引用/值包装器),因为在调用方端没有允许您这样做的out关键字(如在C中)。在

这可能看起来像:

import clr
import System
tempValue = clr.Reference[System.Single]()

直接创建StrongBox实例也可以。在

请注意,您还可以使用只有out参数的方法,不传递任何内容,而是接收一个tuple,如解释的here。在

相关问题 更多 >

    热门问题