从Python调用用C#编写的函数时,'NoneType'对象不可调用

时间:2016-12-27 13:18:00

标签: c# python dll interface

我是Python和C#的新手。我正在尝试使用两个实现为接口的方法在C#中创建一个dll,并在COM中注册后在python文件中调用它们。

namespace Sample
{
    public interface interf
    {
        bool printHello(string name);

        void printWorld();

    }

    public class A : interf
    {

        public bool printHello(string name)
        {
            Console.WriteLine(name);
            return true;
        }


        public void printWorld()
        {
            Console.WriteLine("World!");
        }
    }
}

我在python中调用这些函数:

import win32com.client

dllCall = win32com.client.Dispatch("Sample.A")
hello = dllCall.printHello("Hello")
dllCall.printWorld()

当我尝试执行python文件时,我收到以下错误。

Hello
Traceback (most recent call last):
  File "C:\Temp\sampleTest.py", line 23, in <module>
World!
    dllCall.printWorld()
TypeError: 'NoneType' object is not callable

我错过了什么?

1 个答案:

答案 0 :(得分:1)

最后我开始工作了。 如果我在没有方括号printWorld的情况下致电()

dllCall.printWorld