IronPython 奇怪的方法调用

IronPython strange method calling

为什么在 ironPython 中调用这样的方法有效?:

from System.Collections.Generic import List

class test:

    mem = None

    def __init__(self):
        # !No Instance created !!!
        self.mem = List[int]

    def doSomeThing(self):
        if self.mem.Contains((List[int](), 123):
            pass

在这种情况下我无法获得 IronPython 的行为:self.mem.Contains((List[int](), 123):。有人对此有解释吗?

编辑

难道self.mem只是类型,Contains永远是returnFalse?如果这是真的,这似乎是一个不错的功能:)

谢谢!

正常情况下也是如此 Python 类:

class Foo(object):
  def bar(self):
    pass

f = Foo
f.bar(Foo())

这是绑定 (Foo().bar) 和未绑定 (Foo.bar) 方法之间的区别。 Python.

中方法的实现方式与其说是一个功能,不如说是一个副作用

Contains 始终为假,因为它正在处理一个空列表,其中不包含任何内容。