我在反射中获取属性类型时遇到了一点问题。
我的类只包含简单类型,比如字符串、整数、小数等。
public class simple
{
public string article { get; set; }
public decimal price { get; set; }
}
现在我需要通过反射获取这些属性,并根据它们的类型进行处理。
我需要像这样的东西:
Type t = obj.GetType();
PropertyInfo propInfo = t.GetProperty("article");
Type propType = ?? *GetPropType*() ??
switch (Type.GetTypeCode(propType))
{
case TypeCode.Decimal:
doSome1;
break;
case TypeCode.String:
doSome2;
break;
}
对于字符串,可以使用propInfo.PropertyType.UnderlyingSystemType
作为GetPropType(),但对于十进制数等则不行。
对于十进制数,可以使用propInfo.PropertyType.GenericTypeArguments.FirstOrDefault();
,但对于字符串则不行。
如何获取所有简单类型的类型?
propInfo.PropertyType
就足够了。点此查看示例 - ProgrammingLlama