ModuleとSub Newメソッド

きっと役に立たない情報。(ただ知らなかったことを書きなぐってみただけともいう。)
Classと同様ModuleでもSub Newが使用できます。


[Visual Basic]

Imports System
Imports System.Collections.Generic


Module Hoge

Sub New()

End Sub

End Module

このプロシージャはModuleにおいて一番最初に実行されることが保証されています。
ですので、Classと同様Moduleの初期化コードを記述できます。

[Visual Basic]

Imports System


Module Hoge

Public nameList As List(Of String)

Sub New()

nameList = New List(Of String)

nameList.Add("織田信長")
nameList.Add("聖徳太子")
nameList.Add("平清盛")
nameList.Add("清少納言")
nameList.Add("蘇我入鹿")
nameList.Add("徳川家康")

End Sub


Function GetName(ByVal index As Integer) As String

If index < 0 OrElse index > nameList.Count - 1 Then

Throw New ArgumentOutOfRangeException("ねーよwwww")

End If

Return nameList(index)

End Function


End Module

実は、私はModuleを作成したことがありません。気の持ちようなのか、どことなく存在があいまいな気がするのです。
出来ればメソッドも、データも適切なクラスのメンバであるべきだと思います。