Shared (Static) なメンバー変数の初期化を、各メンバー変数の初期化子で行うのではなく、まとめてどこかで…という場合には、静的コンストラクタに書けばよいらしいです。
たとえば以下のように書きます。
ポイントは Shared Sub New() に処理を書くことと、Public などのスコープは指定しないことです。
Class Class1 Public Shared Member1 As Integer Shared Sub New() Member1 = 100 End Sub End Class
呼び出し側は以下。
Module Module1 Sub Main() Console.WriteLine("{0}", Class1.Member1) End Sub End Module
結果。ちゃんとコンストラクタで定義した値が取得できます。
100 続行するには何かキーを押してください . . .
ちなみに、初期化子にも値を設定していました…というケースは New 側が優先されます。(普通のインスタンスの場合と同じ)