///
/// 获取类的中文名
///
///
///
///
public static string GetDisplayName(Type dataType, string fieldName)
{
// First look into attributes on a type and it's parents
DisplayAttribute attr;
attr = (DisplayAttribute)dataType.GetProperty(fieldName).GetCustomAttributes(typeof(DisplayAttribute), true).SingleOrDefault();
if (attr == null)
{
return String.Empty;
}
else
return (attr != null) ? attr.GetName() : String.Empty;
}
///
/// 获取类的Metadata中设置的Display中文名
/// 先取 类中的 Display然后去 Metadata类中的Display
///
///
///
///
有MetadataType取Metadata,没有取类中的
public static string GetMetaDataDisplayName(Type dataType, string fieldName)
{
// First look into attributes on a type and it's parents
DisplayAttribute attr = null;
attr = (DisplayAttribute)dataType.GetProperty(fieldName).GetCustomAttributes(typeof(DisplayAttribute), true).SingleOrDefault();
MetadataTypeAttribute metadataType = (MetadataTypeAttribute)dataType.GetCustomAttributes(typeof(MetadataTypeAttribute), true).FirstOrDefault();
if (metadataType != null)
{
var property = metadataType.MetadataClassType.GetProperty(fieldName);
if (property != null)
{
attr = (DisplayAttribute)property.GetCustomAttributes(typeof(DisplayAttribute), true).SingleOrDefault();
}
}
return (attr != null) ? attr.Name : String.Empty;
}