¿Son malas las variables locales estáticas?

Pregunta C ++ relacionada: Variables locales estáticas en los métodos ¿una mala práctica?

En VB.NET, cuando quiero un contador simple o algo que se incremente cada vez que se llama a un método, a menudo me encuentro escribiendo 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

¿Se recomienda esto en VB.NET y OOP en general?

Respuestas a la pregunta(2)

Su respuesta a la pregunta