-4

在此处输入图像描述
您能否帮助解决上述问题。

4

1 回答 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 回答