Python:等待c#dll方法完成执行
我编写了一个c代码,它计算一个数字的指数并返回值。我已经用它创建了一个DLLPython:等待c#dll方法完成执行,c#,python,dll,C#,Python,Dll,我编写了一个c代码,它计算一个数字的指数并返回值。我已经用它创建了一个DLL namespace sampleNamespace { public class ExpClass { public float exp(float a) { //Calculate exponential return exponentialValue; } } } 我正在用Python加载c
namespace sampleNamespace
{
public class ExpClass
{
public float exp(float a)
{
//Calculate exponential
return exponentialValue;
}
}
}
我正在用Python加载c#DLL,并从Python中调用add(inta,intb)
import dotnet.seamless
dotnet.add_assemblies(".")
dotnet.load_assembly("ExpDLL")
#Import namespace from c#
import sampleNamespace
expClass = sampleNamespace.ExpClass()
exp = 0
exp= expClass.exp(7.9865)
print("Computation completed:", exp)
运行上述python时,打印语句将在不等待DLL方法完成的情况下打印出来。我得到下面的输出
Computation completed: 0
如何使Python的主线程等待
expClass.exp()
完成,然后继续 你的C代码无法编译,你在void
方法中返回值。对不起,我在stackoverflow中输入错误。我在实际代码中返回一个浮点值。显然,您提供的代码没有编译,因此不可能判断出哪里出了问题——但有一点是肯定的,Python代码不会“不等待”方法完成。您如何验证该方法实际上没有返回0?你有没有用参数7.9865
从C#code调用过它?@jeroenmoster是的,用C#验证过。很遗憾,我不能分享代码,非常抱歉。但这是它的jist。您的C代码无法编译,您在void
方法中返回值。抱歉,我在stackoverflow中输入错误。我在实际代码中返回一个浮点值。显然,您提供的代码没有编译,因此不可能判断出哪里出了问题——但有一点是肯定的,Python代码不会“不等待”方法完成。您如何验证该方法实际上没有返回0?你有没有用参数7.9865
从C#code调用过它?@jeroenmoster是的,用C#验证过。很遗憾,我不能分享代码,非常抱歉。但这是最重要的。