由于IronPython不支持属性,我想知道是否有另一种方法来装饰具有属性的IronPython类,可能还有反射?
答案 0 :(得分:2)
一个虽然丑陋但有时不切实际的解决方法是在C#中创建一个存根类并用属性装饰它并从IronPython中派生它。
答案 1 :(得分:1)
我不确定这是否是你要找的,但是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)
我不确定它是否适用于课程。