Teilen über


NameOf-Operator – Visual Basic

Der NameOf Operator ruft den Namen einer Variablen, eines Typs oder eines Elements als Zeichenfolgenkonstante ab:

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

Wie im vorherigen Beispiel gezeigt, ist der erzeugte Name im Falle eines Typs und eines Namespaces in der Regel nicht vollqualifizierte.

Der NameOf Operator wird zur Kompilierungszeit ausgewertet und hat zur Laufzeit keine Auswirkung.

Sie können den NameOf Operator verwenden, um den Argumentüberprüfungscode besser zu verwalten:

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

Der NameOf Operator ist in Visual Basic 14 und höher verfügbar.

Siehe auch