我需要在运行时这样做。我检查了使用反射器和值类型行,例如 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")
。
常量被认为是字段