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でCOMにpywin32-218を使用しています。
foo = win32com.client.Dispatch("Foo")