Hola, solo una pequeña aclaración..
Si estas hablando de static del lado de vb.net es una variable que no pierde su valor a pesar de que haya finalizado el procedimiento, por ejemplo en un win form si tienes algo como ésto en un boton:
Cita: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Static var As Integer
var = var + 1
MessageBox.Show(var)
End Sub
Cada vez que lo presiones la variable "var" se incrementará de uno en uno, a diferencia de una variable que declaras comunmente con
DIM
Ahora que si estas hablando de shared tambien en vb.net son aquellas variables, metods, etc que son compartidos y no necesitan ser instanciados para poderse usar, es decir, no necesitas el New ya que no creas el objeto..
En cuanto a c# las shared de vb.net su equivalente sería las statics , así que ojo, con lo que estas tratando de hacer porque son cosas distintas.
Saludos y cualquier cosa por aqui andamos..