如何从 IronPython 调用带有无符号整数参数的 .Net 方法

How to invoke a .Net method with unsigned integer argument from IronPython

CSharp 中的方法有两种变体

    public class MmsValue
    {
        public MmsValue (int value)
        {
            valueReference = MmsValue_newIntegerFromInt32 (value);
        }

        public MmsValue (UInt32 value)
        {
            valueReference = MmsValue_newUnsignedFromUint32(value);
        }

当我从 IronPython 调用它时,它总是调用 MmsValue(int value)。有没有办法调用MmsValue(UInt32 value)?

摘自 IronPython 文档:http://ironpython.net/documentation/dotnet/

如果您想控制被调用的确切重载,您可以在方法对象上使用 Overloads 方法:

import clr
clr.AddReference('ClassLibrary1')
from ClassLibrary1 import MmsValue
from System import UInt32    

uint32_mmsValue = MmsValue.__new__.Overloads[UInt32](MmsValue, 1)

这将使用 UInt32 构造函数创建 MmsValue 的实例。