我有一个IEnumerable<Person>
例子。
我希望能够List<Person>
在运行时完成
我有以下代码,但错误提示我无法转换系统运行时类型
有什么我想念的吗?
private static readonly MethodInfo enumerableToListMethod = typeof(Enumerable).GetMethod("ToList", BindingFlags.Public | BindingFlags.Static);
//genericType will be Person
var genericType = modelType.GetGenericArguments().First();
var genericToListMethod = enumerableToListMethod.MakeGenericMethod(new[] { genericType });
//modelType is IEnumerable<Person>
var ienumtype = genericToListMethod.Invoke(null, new object[] { modelType });
Activator.CreateInstance(ienumtype.GetType());