问问题
382 次
1 回答
2
你几乎不应该将某些东西声明为 type Array
。如果您正在创建一个String
数组,请声明:
Dim itemNames As String() = System.Enum.GetNames(GetType(Configuration.eSystemType))
当然,鉴于它Enum.GetNames
的返回类型为String()
,您可以只使用类型推断:
Dim itemNames = Enum.GetNames(GetType(Configuration.eSystemType))
我还在System
那里删除了多余的命名空间限定符。
Enum.GetValues
也许您被声明为 type的事实所愚弄Array
。我确实说过“几乎从来没有”。在极少数情况下需要它,但作为应用程序开发人员,您几乎可以肯定永远不必这样做。返回的数组是您指定的类型,因此您应该转换为该类型:
Dim itemValues = DirectCast(Enum.GetValues(GetType(Configuration.eSystemType)),
Configuration.eSystemType())
构造ListItem
函数仍然需要两个String
参数,因此您仍然需要将Configuration.eSystemType
值转换为Strings
:
Dim item As New ListItem(itemNames(i), itemValues(i).ToString())
于 2018-08-22T07:54:09.127 回答