NameOf 演算子 - Visual Basic

NameOf 演算子を使うと、変数、型、またはメンバーの名前を文字列定数として取得できます。

Console.WriteLine(NameOf(System.Collections.Generic))  ' output: Generic
Console.WriteLine(NameOf(List(Of Integer)))  ' output: List
Console.WriteLine(NameOf(List(Of Integer).Count))  ' output: Count
Console.WriteLine(NameOf(List(Of Integer).Add))  ' output: Add

Dim numbers As New List(Of Integer) From { 1, 2, 3 }
Console.WriteLine(NameOf(numbers))  ' output: numbers
Console.WriteLine(NameOf(numbers.Count))  ' output: Count
Console.WriteLine(NameOf(numbers.Add))  ' output: Add

前の例で示されているように、型と名前空間の場合、生成される名前は通常完全修飾ではありません。

NameOf 演算子はコンパイル時に評価され、実行時には影響を与えません。

NameOf 演算子を使って、引数をチェックするコードを保守しやすくすることができます。

Private _name As String

Public Property Name As String
    Get
        Return _name
    End Get
    Set
        If value Is Nothing Then
            Throw New ArgumentNullException(NameOf(value), $"{NameOf(name)} cannot be null.")
        End If
    End Set
End Property

NameOf 演算子は Visual Basic 14 以降で使用できます。

関連項目