我有一个用 C# 编写的库,它是这样的
class FooCollection
{
private readonly FooBase _innerFoo;
public FooCollection()
{
_innerFoo = new FooBase();
}
public string this[int index]
{
get { return _innerFoo._components[index].ComponentName; }
set
{
_innerFoo._components[index].ComponentName = value;
}
}
}
这个类是 COM 可见的,我正在尝试从 Python 中使用它。所以,这个命令有效
foo(1)
但是这个没有
foo(1) = 'SomeName'
它给了我“无法分配给调用功能”。我试过方括号[],但这不好。有没有办法绕过这个,除了我在 C# 中使用额外的“正常”方法来设置这个属性?
我在 Python 中将 pywin32-218 用于 COM。
foo = win32com.client.Dispatch("Foo")