Delen via


NameOf operator - Visual Basic

De NameOf operator haalt de naam op van een variabele, type of lid als de tekenreeksconstante:

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

Zoals in het voorgaande voorbeeld wordt weergegeven, is de geproduceerde naam in het geval van een type en een naamruimte meestal niet volledig gekwalificeerd.

De NameOf operator wordt geƫvalueerd tijdens het compileren en heeft geen effect tijdens runtime.

U kunt de NameOf operator gebruiken om de code voor argumentcontrole beter te onderhouden:

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

De NameOf operator is beschikbaar in Visual Basic 14 en hoger.

Zie ook