我想从propertyType的泛型类强制转换而不知道该怎么做。
我想做这样的事情:
var key = Expression.Property(genericType, rule.ComparisonPredicate);
Type propertyType = typeof(T).GetProperty(rule.ComparisonPredicate).PropertyType;
var converter = TypeDescriptor.GetConverter(propertyType);
var value = Expression.Constant((propertyType)converter.ConvertFromString(rule.ComparisonValue) );
但是在行var值中我得到了一个错误:
'propertyType'是一个变量,但用作类型
答案 0 :(得分:0)
你不能转换为变量,你应该指定一个真实的类型
var value = Expression.Constant(( propertyType )converter.ConvertFromString(rule.ComparisonValue));
答案 1 :(得分:0)
尝试转换属性类型
(Type)typeof(T).GetProperty(rule.ComparisonPredicate).PropertyType