我如何获得对模块中子例程的引用

how do i get a reference to the a sub routine within a module

我需要了解如何通过引用来引用另一个模块中的子例程。这就是我想要做的:

Module Mod1

   sub_x(pass a reference to this module)

   Private Sub close_me()
       ' do something here
   End Sub

End Module

Module Mod2

    Public Sub sub_x(get the reference to the passed module)
      reference to passed module.close_me()
    End Sub

End Module

Sub_x 将接收来自几个不同模块的调用。所有调用模块都会有一个 close_me() 子例程。所以我需要知道哪个模块正在调用 sub_x 以便我知道要关闭哪个模块。

在 Mod2 中:

Public Sub sub_x(ByVal closeModule As Action)
    closeModule()
End Sub

在 Mod1 中:

Mod2.sub_x(AddressOf Mod1.close_me)