在.NET中分配的变量的名称



VB2010。甚至不确定这是否可能,但出于调试目的,我想打印出分配给主变量的变量的名称(两者都是类(。

        Dim mstTripClass As Trip = Nothing
        Select Case sc
            Case "0"
                mstTripClass = driver.BusinessTrip
            Case "7", "8"
                mstTripClass  = driver.LeisureTrip
            Case "10"
                mstTripClass = driver.OtherTrip
            Case Else
                Throw New Exception("Invalid trip class")
        End Select
        Debug.Print("Trip class=" & mstTripClass.GetType.ToString)

这会打印出

        Trip class=MyCompany.MyDept.MyApp.Trip

我想打印出来的是这样的东西:

        Trip class=BusinessTrip

我甚至不知道如何搜索这种类型的东西。我想反省一下,但一无所获。

这里根本不需要反射。想到两个简单的替代方案:

  1. driver转换为具有值BusinessTripLeisureTrip等的Enum

  2. 无论driver.BusinessTrip具有什么类型,都可以使用抽象字符串属性TypeDescription扩展该类型,并让BusinessTripLeisureTrip等子类型覆盖该属性,以便它们返回文本描述。

相关内容

  • 没有找到相关文章

最新更新