vb.net - 使用扩展方法将枚举转换为整数数组

标签 vb.net generics extension-methods enumeration

假设有一个枚举:

Public Enum MyEnum
    Value1 = 100
    Value2 = 200
    Value3 = 300
End Enum

如何实现扩展方法来获取此枚举的所有值的整数数组?

Dim ints As Integer() = GetType(MyEnum).ToIntArray()
' result: ints = {100, 200, 300}

(我已经看到扩展方法必须基于类型。)

最佳答案

<System.Runtime.CompilerServices.Extension()> _
Public Function ToIntArray(Of T As Type)(a As T) As Integer()
    Return [Enum].GetValues(a).Cast(Of Integer)().ToArray
End Function

关于vb.net - 使用扩展方法将枚举转换为整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17875304/

相关文章:

vb.net - 'Uri()'类型的值不能转换为 'List(Of Uri)'

sql - 使用sql参数插入值

vb.net - 使用 WinNT 字符串连接更改用户密码时出错(并验证当前密码)

java - Scala 中的新 Java 类 : takes type paremeters

c# - 哪种机制是扩展 Dictionary 以处理丢失键的更好方法,为什么?

c# - "Using"语句如何从 C# 转换为 VB?

Java 泛型为什么需要通配符(问号)?

java - 为什么在忽略参数类型时泛型会完全禁用?

C# 扩展方法仅适用于类的实例。有什么办法吗?

c# - 从 IViewComponentHelper 扩展方法中调用 Component.InvokeAsync()