【发布时间】:2018-06-05 19:27:30
【问题描述】:
通过反射获取属性的类型我有一个小问题。
我有一个只包含简单类型的类,例如字符串、整数、小数...
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(); 但不适用于字符串。
Hos 可以获取所有简单类型的类型吗?
【问题讨论】:
-
呃,
propInfo.PropertyType应该足够了。 Fiddle here
标签: c# reflection gettype