首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在VB.NET中将变量名存储在String中

在VB.NET中,可以使用反射来获取变量名。以下是一个示例代码:

代码语言:vb
复制
Imports System.Reflection

Module Module1

    Sub Main()
        Dim variableName As String = GetVariableName(Of String)(Function() myVariable)
        Console.WriteLine($"The variable name is: {variableName}")
    End Sub

    Function GetVariableName(Of T)(ByVal expression As Expression(Of Func(Of T))) As String
        Dim memberExpression As MemberExpression = TryCast(expression.Body, MemberExpression)
        If memberExpression IsNot Nothing Then
            Return memberExpression.Member.Name
        End If
        Return Nothing
    End Function

    Dim myVariable As String = "Hello, world!"

End Module

在这个示例中,我们定义了一个名为myVariable的字符串变量。我们使用GetVariableName函数来获取变量名。该函数接受一个Expression(Of Func(Of T))类型的参数,该参数是一个委托,该委托返回一个T类型的值。在这个示例中,我们使用了一个lambda表达式来创建一个委托,该委托返回myVariable的值。

GetVariableName函数使用反射来获取委托的成员表达式,并从中提取变量名。在这个示例中,GetVariableName函数将返回字符串"myVariable"

需要注意的是,这种方法只能在编译时获取变量名。如果变量名在运行时被更改,则无法使用这种方法来获取新的变量名。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券