我有一个用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 for COM。
foo = win32com.client.Dispatch("Foo")
答案 0 :(得分:1)
索引属性转换为IL
,如
FooCollection.get_Item
和FooCollection.set_Item
,可能在最终的COM对象中
翻译过。
尝试使用这些函数调用。
希望这会有所帮助。