在 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));
是否可以在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));