在 Array.ConvertAll 中在运行时传递动态类型

Passing dynamic Type at runtime in Array.ConvertAll

是否可以在Array.ConvertAll中传递动态类型?在下面的代码中,而不是 Int32.Parse 我尝试传递或者是否有任何其他方法将我的值数组转换为另一种数据类型

var criteria = Array.ConvertAll(filter.Value, Int32.Parse);

MemberExpression member = Expression.Property(param, filter.Name);
var propertyType = ((PropertyInfo)member.Member).PropertyType;

var criteria = Array.ConvertAll(filter.Value, propertyType); // Gives error

如果您想从数组转换类型,但我们想在运行时确定类型。

我们可以尝试在 Array.ConvertAll

的第二个参数中使用 Convert.ChangeType 方法
var criteria = Array.ConvertAll(arr, (o)=> Convert.ChangeType(o,propertyType));