我正在尝试从python代码调用c#委托函数(updateTextBox)。
以下是我到目前为止尝试过的内容。
我的.net代码是:
namespace DynamicCS
{
public class Test
{
public delegate void updateTextBoxDelegate(String textBoxString); // delegate type
public updateTextBoxDelegate updateTextBox; // delegate object
public void M()
{
updateTextBox("Hello From delegate");
}
public string hello()
{
return "Hello from C#";
}
}
}
我的Python代码是:
from types import *
from System import Action,EventHandler, EventArgs
sys.path.append(r'C:\\Users\\appadmin\\source\\repos\\DynamicCS\\DynamicCS\\bin\\Debug\\')
clr.AddReference(r"DynamicCS")
def updateTextBox(res):
print(res)
from DynamicCS import Test
test = Test()
msg = test.hello()
print(msg)
test.updateTextBox =Action[str](updateTextBox)
test.M()
运行python代码时出现以下错误,
test.updateTextBox =Action[str](updateTextBox)
TypeError: value cannot be converted to DynamicCS.Test+updateTextBoxDelegate
如果有人能指出我的代码中的错误,我将非常感谢。