1

我在将此 vb.net 行翻译成严格证明时遇到问题

[Enum].GetValues(GetType(ReferenceOutput))(DataGrid1.SelectedIndex)

ReferenceOutput 是一个类, datagrid1.selectedindex 是在 datagrid 中选择的。我如何将其转化为严格的证明行。我现在收到以下错误。

Error   1   Option Strict On disallows late binding.

谢谢

4

1 回答 1

4

最稳健的方法是使用Enum.TryParse新的通用方法:

Dim refOutput As ReferenceOutput
Dim enumValue = DataGrid1.SelectedIndex.ToString()
If [Enum].TryParse(enumValue, refOutput) Then
    Console.WriteLine("Converted '{0}' to {1}.", enumValue, refOutput.ToString())
Else
    Console.WriteLine("{0} is not a member of the ReferenceOutput enumeration.", enumValue)
End If

这是旧的冗长、未经检查的拆箱方法:

Dim refOutput As ReferenceOutput = DirectCast([Enum].Parse(GetType(ReferenceOutput), DataGrid1.SelectedIndex.ToString(), True), ReferenceOutput)
于 2012-10-25T12:05:09.137 回答