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)
?
答案 0 :(得分:2)
取自IronPython文档:http://ironpython.net/documentation/dotnet/
如果要控制被调用的确切重载,可以对方法对象使用重载方法:
import clr
clr.AddReference('ClassLibrary1')
from ClassLibrary1 import MmsValue
from System import UInt32
uint32_mmsValue = MmsValue.__new__.Overloads[UInt32](MmsValue, 1)
这将使用UInt32构造函数创建一个MmsValue实例。