由于 IronPython 不支持属性,我想知道是否有另一种方法来装饰 IronPython 类的属性,也许是反射?
andersjanmyr
问问题
1377 次
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 回答