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

一种,虽然丑陋且有时不切实际,但解决方法是在 C# 中创建一个存根类并用属性装饰它并从 IronPython 中派生。

于 2008-12-11T23:43:50.267 回答