我需要在运行时这样做。我检查了使用反射器和值类型行,例如 Int16,应该包含

<Serializable, StructLayout(LayoutKind.Sequential), ComVisible(True)> _
Public Structure Int16
    Implements IComparable, IFormattable, IConvertible, IComparable(Of Short), IEquatable(Of Short)

Public Const MaxValue As Short = &H7FFF
Public Const MinValue As Short = -32768


End Structure

但是下面的代码不起作用
Dim dummyValue = Activator.CreateInstance(GetType(UInt16))
Dim minValue As IComparable =    DirectCast(dummyValue.GetType.GetProperty("MinValue").GetValue(dummyValue,
Nothing), IComparable)

知道如何解决吗?

编辑 :仅对于我直接使用的示例 GetType(UInt16) 但在实际代码中,这部分被一个 unknown-at-design-time .NET Type 的实例取代

最佳答案

使用 GetType.GetField("MinValue")
常量被认为是字段

10-08 13:36