s variáveis locais estáticas são uma má prátic

ergunta relacionada ao C ++:ariáveis locais estáticas em métodos uma má prátic

No VB.NET, quando eu quero um contador simples ou algo que aumente cada vez que um método é chamado, geralmente me pego escrevendo código como:

Private Sub tmrRefresh_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrRefresh.Tick

  Static a As Integer = 0
  a += 1
  '...rest of method depends on a

End Sub

Isso é recomendado no VB.NET e OOP em geral?