sl3*_*dg3 7 c# vb.net generics
我不知道如何将以下行从VB转换为C#:
Dim values As New List(Of T)(System.Enum.GetValues(GetType(T)))
Run Code Online (Sandbox Code Playgroud)
我的版本不起作用:
List<T> values = new List<T>(System.Enum.GetValues(typeof(T)));
Run Code Online (Sandbox Code Playgroud)
'System.Collections.Generic.List.List(System.Collections.Generic.IEnumerable)'的最佳重载方法匹配有一些无效的参数
构造函数参数不会这样 - 我丢失了什么演员(或其他)?
澄清:它包含在以下通用方法中
public static void BindToEnum<T>()
{
List<T> values = new List<T>(System.Enum.GetValues(typeof(T)));
//...
}
Run Code Online (Sandbox Code Playgroud)
sll*_*sll 13
使用LINQ:
List<T> list = System.Enum.GetValues(typeof(T))
.Cast<T>()
.ToList<T>();
Run Code Online (Sandbox Code Playgroud)
只需添加一个.Cast<T>():
List<T> values = new List<T>(System.Enum.GetValues(typeof(T)).Cast<T>());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9581 次 |
| 最近记录: |