通过procCall禁止动态方法解析

可以通过内置的 system.procCall 来禁止动态方法解析。 这有点类似于传统OOP语言提供的 super 关键字。

  1. type
  2. Thing = ref object of RootObj
  3. Unit = ref object of Thing
  4. x: int
  5.  
  6. method m(a: Thing) {.base.} =
  7. echo "base"
  8.  
  9. method m(a: Unit) =
  10. # Call the base method:
  11. procCall m(Thing(a))
  12. echo "1"