3

我使用 pythonnet 而不是 ironpython。

有一个这样的功能:

test(ref string p1,out string p2)

如何test在 python 3.6 中调用?

import clr
import sys
import System
sys.path.append(r'd:\dll')  
clr.FindAssembly('communication.dll')  
from  communication import *  
dll=IEC62056()
dll.test(----------)
4

2 回答 2

1

如果没有communication.dll,我无法测试代码,因此请检查以下代码是否适合您:

import clr
import sys
sys.path.append("D:\\dll") # path to dll
clr.AddReference("communication") # add reference to communication.dll
from  communication import test

ref_string_p1 = "----------"
out_string_p2 = test(ref_string_p1)
print(out_string_p2)
于 2018-05-27T07:34:00.783 回答
0

您可以将 ref 作为常规参数提供,并任意提供。pythonnet 会将它们按位置作为元组返回。

假设void test(ref string p1,out string p2)在c#中,你进入p1, p2 = test(p1, None)python

于 2020-05-14T04:28:14.453 回答