我有一个.NET类型'MyClass',带有一个带有out参数的受保护方法。例如:
protected bool MyMethod(out string value)
我能够在Iron Python脚本中创建的'MyClass'对象上调用此方法。但是,即使在方法中为其指定了一些值,out变量'value'也是'None'。
现在如果我把它公开,那么一切都很好。
这是预期的行为吗?为什么Iron Python允许调用受保护的方法?这是一个有意识的决定吗?
我正在使用Iron Python 2.0.1
答案 0 :(得分:2)
我认为这是预期的行为,因为MyMethod
实际上是MyClass
专用的,所以你根本不应该能够访问它,甚至不能在IronPython上访问它。
你可以use reflection (InvokeMember
) though to get arround this。
环顾四周,似乎这是indeed intended behaviour。