タイトルは、私が実際に取得しようとしていることを実際に説明していない可能性があります。
関数が受け入れる引数を使用する前に、null または空であることを確認することをお勧めします。私はこのようにいくつかのハッシュ作成をラップするだけの関数を持っています。
Public Shared Function GenerateHash(ByVal FilePath As IO.FileInfo) As String
If (FilePath Is Nothing) Then
Throw New ArgumentNullException("FilePath")
End If
Dim _sha As New Security.Cryptography.MD5CryptoServiceProvider
Dim _Hash = Convert.ToBase64String(_sha.ComputeHash(New IO.FileStream(FilePath.FullName, IO.FileMode.Open, IO.FileAccess.Read)))
Return _Hash
End Function
ご覧のとおり、IO.Fileinfo を引数として取り、関数の開始時にそれが何もないことを確認しています。
これは良い習慣なのか、それとも実際のハッシャーに到達させてから、null であるため例外をスローするべきなのか疑問に思っています。
ありがとう。