IronPython での COM オブジェクトのプロパティ

COM オブジェクトの set_XXX メソッドは IronPython 上でプロパティ(attribute)として扱われる。

そのため、複数の引数をもつ set_XXX メソッドの場合、IronPython 上では set_XXX が使えず、以下のような記述をすることになる。

  • obj.Property名[引数値, 引数値, ・・・] = 最後の引数値

例えば、C# で以下のような記述をする場合、

profile.set_VBRMode(WMENC_SOURCE_TYPE.WMENC_VIDEO, 0, WMENC_PROFILE_VBR_MODE.WMENC_PVM_NONE);
aud = profile.get_Audience(0);
aud.set_VideoCodec(0, 2);
aud.set_VideoHeight(0, 0);

IronPython では以下のようになる。

profile.VBRMode[WMENC_SOURCE_TYPE.WMENC_VIDEO, 0] = WMENC_PROFILE_VBR_MODE.WMENC_PVM_NONE
aud = profile.Audience[0]
aud.VideoCodec[0] = 2
aud.VideoHeight[0] = 0