/// <summary>
/// 获取类的中文名
/// </summary>
/// <param name="dataType"></param>
/// <param name="fieldName"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 获取类的Metadata中设置的Display中文名
/// 先取 类中的 Display然后去 Metadata类中的Display
/// </summary>
/// <param name="dataType"></param>
/// <param name="fieldName"></param>
/// <returns>有MetadataType取Metadata,没有取类中的</returns>
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;
}
本文介绍了一种从C#类中获取特定字段的显示名称的方法。通过使用反射和属性标签,可以有效地从类及其元数据中检索字段的中文显示名称。

1207

被折叠的 条评论
为什么被折叠?



