1

IronPythonは属性をサポートしていないので、IronPythonクラスを属性で、おそらくリフレクションで装飾する別の方法があるかどうか疑問に思っています。

4

2 に答える 2

2

これがあなたが探しているものであるかどうかはわかりませんが、clrtypeでは属性を使用できます。

import clr
import clrtype
from System.Runtime.InteropServices import DllImportAttribute
import System

class PInvoke(object):

    __metaclass__ = clrtype.ClrClass
    DllImport = clrtype.attribute(DllImportAttribute)

    @staticmethod
    @DllImport("user32.dll")
    @clrtype.accepts(System.UInt32)
    @clrtype.returns(System.Boolean)
    def MessageBeep(beepType): raise RuntimeError("Something went wrong.")

PInvoke.MessageBeep(0)

ただし、クラスで機能するかどうかはわかりません。

于 2010-08-22T23:41:08.647 に答える
2

1 つの回避策は、C# でスタブ クラスを作成し、それを属性で装飾し、IronPython でそのクラスから派生させることです。

于 2008-12-11T23:43:50.267 に答える