Did you know that you can have a constructor on a module? I first got the notion to try this after thinking about static constructors in C#. In C#, you can do something like this:
So the next thing to try was to test this out in VB.NET:
private static int _magicNumber;
_magicNumber = 4;
Running this and calling the methods Test / Test2 (in that order) yields this:
Public Sub Test()
Public Sub Test2()
So as you might expect, the construct only gets called once, but is called before any members are accessed in the module. Handy!