在我的代码中,我使用如下反射获取属性的类型:
foreach(FilterRule rule in filter.Rules)
{
PropertyInfo property = typeof(T).GetProperty(rule.Field);
}
之后,我进行了几次检查以找出它实际上是什么类型以及类型是否是long?
:
else if (property.PropertyType == typeof(long?))
{
long dd = Convert.ChangeType(rule.Field, System.Int64);
}
我想转换为System.Int64
类型。或者更具体地说,只是long
没有可为空的,但似乎我没有得到这个,因为rule.Field
isString
并且它说第一个参数应该是 anobject
并且我看到有一些霸主但没有使用我正在尝试的语法。
我该如何进行这种转换?