NameOf-operator – Visual Basic

Operatorn NameOf hämtar namnet på en variabel, typ eller medlem som strängkonstant:

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

Som föregående exempel visar är det producerade namnet vanligtvis inte fullständigt kvalificerat när det gäller en typ och ett namnområde.

Operatorn NameOf utvärderas vid kompileringstillfället och har ingen effekt vid körning.

Du kan använda operatorn NameOf för att göra argumentkontrollkoden mer underhållsbar:

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

Operatorn NameOf är tillgänglig i Visual Basic 14 och senare.

Se även