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
我甚至不确定如何搜索此类事物。我搜索了反射但是空了。
答案 0 :(得分:1)
根本不需要反思。想到两个简单的替代方案:
将driver
变为Enum
,其值为BusinessTrip
,LeisureTrip
等。
无论driver.BusinessTrip
类型是什么,都使用抽象字符串属性TypeDescription
扩展该类型,并使BusinessTrip
,LeisureTrip
等子类重写该属性,以便他们返回文字说明。