我的python项目中有这段代码:
def Receive():
while True:
time.sleep(0.3)
data, addr = sock.recvfrom(4096)
data = data.decode()
print("(Python) => " + currentData)
time.sleep(0.1)
如果它收到了什么,它会打印出消息,当套接字收到东西时,有没有办法在C#中调用方法?
答案 0 :(得分:0)
如果我理解正确,你想从使用IronPython运行的python脚本中调用一些用C#编写的代码。最简单的方法是添加对程序集的引用,并直接从python中调用一些静态方法。
Python方
import clr
clr.AddReference("YourAssembly")
from MyNameSpace import MyClass
def Receive():
while True:
time.sleep(0.3)
data, addr = sock.recvfrom(4096)
data = data.decode()
print("(Python) => " + currentData)
time.sleep(0.1)
# Calling C# handler.
MyClass.DoSomething()
C#side
namespace MyNamespace {
public static class MyClass {
public static void DoSomething() {
Debug.Print("Doing something...")
}
}
}